附录

    CentOS环境安装Java

    Ubuntu环境安装Java

    1. sudo apt install -y default-jdk
    2. # 查询Java版本
    3. java -version

    1.2 Gradle部署

    此处给出简单步骤,供快速查阅。更详细的步骤,请参考。

    (1)从官网下载对应版本的Gradle安装包,并解压到相应目录

    1. mkdir /software/
    2. unzip -d /software/ gradleXXX.zip
    1. export GRADLE_HOME=/software/gradle-4.10

    (3)查看版本

    1. gradle -version

    此处以Centos安装MariaDB为例。MariaDB数据库是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。MariaDB完全兼容 MySQL,包括API和命令行。其他安装方式请参考。

    ① 安装MariaDB

    • 安装命令
    1. sudo yum install -y mariadb*
    • 启停
    • 设置开机启动
    1. sudo systemctl enable mariadb.service
    • 初始化
    1. 执行以下命令:
    2. sudo mysql_secure_installation
    3. Enter current password for root (enter for none):<–初次运行直接回车
    4. Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
    5. New password: <– 设置root用户的密码
    6. Re-enter new password: <– 再输入一次你设置的密码
    7. Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
    8. Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车
    9. Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
    10. Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

    ② 授权访问和添加用户

    • 使用root用户登录,密码为初始化设置的密码
    1. mysql -uroot -p -h localhost -P 3306
    • 授权root用户远程访问
    1. mysql > flush PRIVILEGES;
    • 创建test用户并授权本地访问
    1. mysql > GRANT ALL PRIVILEGES ON *.* TO 'test'@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;
    • 例子中给出的数据库密码(123456)仅为样例,强烈建议设置成复杂密码
    • 例子中root用户的远程授权设置会使数据库在所有网络上都可以访问,请按具体的网络拓扑和权限控制情况,设置网络和权限帐号

    ③ 测试连接和创建数据库

    • 登录数据库
    • 创建数据库
    1. mysql > create database webasechainmanager;

    2.1 脚本没权限

    • 执行shell脚本报错误”permission denied”或格式错误
    1. 赋权限:chmod + *.sh
    2. 转格式:dos2unix *.sh
    • 执行构建命令gradle build -x test抛出异常:
    1. A problem occurred evaluating root project 'WeBASE-Stat'.
    2. Could not find method compileOnly() for arguments [[org.projectlombok:lombok:1.18.2]] on root project 'WeBASE-Stat'.

    答:

    方法1、已安装的Gradle版本过低,升级Gradle版本到4.10以上即可 方法2、直接使用命令:./gradlew build -x test

    2.3 数据库问题

    • 服务访问数据库抛出异常:
    1. The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    1. 下面以centos7为例:
    2. 查看防火墙是否开放3306端口: firewall-cmd --query-port=3306/tcp
    3. 防火墙永久开放3306端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
    4. 重新启动防火墙:firewall-cmd --reload

    答:MySQL没有开通该帐号的远程访问权限,登录MySQL,执行如下命令,其中TestUser改为你的帐号