MySQL 5.6升级为MySQL 5.7部署JBoss/WildFly应用项目

一、部署MySQL5.7二进制版

解压tar -xvf

mv mysql-5.7  /usr/local/mysql5.7  或者其他文件夹

cd  /usr/local/mysql.57

useradd -s /sbin/nologin -M mysql

mkdir  -p /usr/local/mysql5.7/etc

启动初始化数据

bin/mysqld  --initialize  --basedir=/usr/local/mysql5.7  --datadir=/usr/local/mysql5.7/data

修改配置文件

chown –R mysql:mysql  /usr/local/mysql5.7

vim /usr/local/mysql5.7/etc/my.cnf

详见文件my.cnf

制作systemd启动MYSQL服务

vim /lib/systemd/system/mysqld.service ,详见文件

启动服务

systemctl start  mysqld

systemctl  enable  mysqld

更改环境变量

vim /etc/profile

export PATH=$PATH:/usr/local/mysql5.7/bin

source /etc/profile

进入mysql,第一次登录mysql,没有root密码,解决方式:

在/usr/local/mysql5.7/etc/my.cnf 中添加 skip-grant-tables 参数。此参数的作用是登录Mysql 数据库不进行用户密码验证。

[mysqld]

skip-grant-tables

保存my.cnf 后,重启msyql

systemctl restart mysqld

然后登录 mysql  -uroot

执行以下语句: 

update mysql.user set authentication_string=password('密码') where user='root';

flush privileges;

exit;

systemctl restart mysqld

mysql -uroot -p

Enter password:在这里输入刚才设置的密码,如果不成功或者提示密码过期需要修改密码,重新登录mysql

use mysql;

update user set password_expired='N' where user='root';

flush privileges;

重新登录,成功。

在my.cnf文件中的skip-grant-tables注释掉,systemctl restart mysqld

二、导入mysql5.6数据

创建授权账户grant all on *.* to '***'@'%' identified by '***';

flush privileges;

create database *** default character set utf8;

在导入sql数据时,会出现有的函数及过程不能导入的情况,在my.cnf文件的mysqld段加入log_bin_trust_function_creators=1,重启mysql导入成功。成功后注释掉该行。

对于外键限制,先行取消限制,导入后在开启限制

set FOREIGN_KEY_CHECKS=0;

执行sql导入或者用navigat导入,成功后执行Set FOREIGN_KEY_CHECKS=1

三、jboss/wildfly应用项目部署

1、 部署jboss/wildfly

解压,tar xvf ;  mv  /usr/local/jboss/wildfly

设置路径 vim /etc/profile,加 export

WILDFLY_HOME=/usr/local/wildfly;export PATH=$PATH:$WILDFLY_HOME/bin

source /etc/profile

2、更改配置

修改/usr/local/wildfly/standalone/configuration/standalone.xml

<interface>

<inet-address value="${jboss.bind.address.management:0.0.0.0}"/>

</interface>

<interface>

<inet-address value="${jboss.bind.address:0.0.0.0}"/>

更改默认端口,由8080改为80,也可以改为其他

<socket-binding port="${jboss.http.port:80}"/>

启动服务:standalone.sh,

3、配置数据源

由console管理wildfly添加数据源,提示add-user.sh,添加用户admin

登陆 本机ip:9990

添加driver:

step 1:下载好mysql-connector-Java-5.1.47.jar

step 2: 登陆 本机ip:9990 选择 Runtime/Manage Deployments/add mysql-connector,名称为mysql,runname为mysql,然后save,再enable     

step 3: 选 Configuration/Connctor/Datasources , 增加jndi数据源

name: ***,JNDI Name: java:jboss/datasources/***, Driver 为我们刚才导入的jar包的驱动:mysql_com.mysql.jdbc.Driver_5_1,connection url: jdbc:mysql://ip/数据库***,其中的IP地址为部署的数据库服务器的ip,username: ***,password:***,save之后enable,同时测试是否连接成功test connection,成功即为创建成功。

4、部署应用项目

编辑standalone.xml文件,在<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">端内增加

<deployment-scanner path="项目所在路径" scan-enabled="true" scan-interval="5000" auto-deploy-zipped="true" auto-deploy-exploded="false" deployment-timeout="60"/>

在“项目所在的路径“目录下mkdir 项目名.war,touch 项目名.dodeploy ,把项目所有文件放入项目名.war目录下。

5.重新启动Jboss/wildfly

standalone.sh

四、错误及故障处理

1、ERROR [stderr] (XNIO-1 task-4) Wed Jan 09 15:19:57 CST 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

排除:在standalone.xml文件中修改

<connection-url>jdbc:mysql://ip地址/数据库名?useSSL=true</connection-url> 添加?useSSL=true

错误排除

2、启动jboss出现

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9cd8572eb1b0a688c53db46d20a41147.html