linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux数据库 >

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

时间:2019-02-23  来源:未知  作者:admin666

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 name="management"

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

/interface

interface name="public"

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

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

socket-binding name="http" 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 name="项目名" 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出现

Address "0.0.0.0" is a wildcard address, which will not match against any specific address. Do not use the 'inet-address' configuration elementto specify that an interface should use a wildcard address; use 'any-address', 'any-ipv4-address', or 'any-ipv6-address'

解决:在jboss/standalone/configuration/standlone.xml文件中改

interface name="public" 中inet-address为any-ipv4-address重启 jboss/bin/standlone.sh

3、登录应用项目,提示密码错误,无法登陆

经排查,为mysql5.6数据库升级为mysql5.7而出现的故障,需在my.cnf文件中加入sql_mode=,故障消除

4、应用项目查询特别慢问题

经排查为mysql5.6数据库升级为mysql5.7而出现的故障,需要关闭derived_merge,在mysql启动后执行

mysql -u*** -p***  -e  "set  GLOBAL optimizer_switch='derived_merge=off';"

重新进入应用项目,查询速度恢复正常。

5、配置jboss/wildfly数据源,因数据源超时问题的解决

Caused by: java.lang.RuntimeException: org.springframework.dao.RecoverableDataAccessException:
### Error querying database.  Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: The last packet successfully received from the server was 154,231 milliseconds ago.  The last packet sent successfully to the server was 154,231 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

可以更改my.cnf文件中的

wait_timeout=2147483
interactive_timeout=2147483

将两个值改大,也不能改的太大。

重启mysql服务器,重启应用,问题解决。

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

友情链接
  • Mozilla发布Firefox 67.0.4,修复沙箱逃逸漏洞
  • 蚂蚁金服正式成为CNCF云原生计算基金会黄金会员
  • Firefox 68将采用Microsoft BITS安装更新
  • OpenSSH增加对存储在RAM中的私钥的保护
  • 谷歌想实现自己的curl,为什么?
  • Raspberry Pi 4发布:更快的CPU、更大的内存
  • Firefox的UA将移除CPU架构信息
  • Ubuntu放弃支持32位应用程序实属乌龙,Steam会否重回Ubuntu怀抱
  • Qt 5.13稳定版发布:引入glTF 2.0、改进Wayland以及支持Lottie动
  • 红帽企业Linux 7现已内置Redis 5最新版
  • Slack进入微软内部禁用服务清单,GitHub也在其列?
  • 安全的全新编程语言V发布首个可用版本
  • Windows Terminal已上架,快尝鲜
  • 阿里巴巴微服务开源生态报告No.1
  • 面世两年,Google地球将支持所有基于Chromium的浏览器
  • 推进企业容器化持续创新,Rancher ECIC千人盛典完美收官
  • CentOS 8.0最新构建状态公布,或于数周后发布
  • Debian移植RISC
  • 微软拆分操作系统的计划初现雏形
  • Oracle发布基于VS Code的开发者工具,轻松使用Oracle数据库
  • Ubuntu 19.10停止支持32位的x86架构
  • 微软为Windows Terminal推出全新logo
  • 联想ThinkPad P系列笔记本预装Ubuntu系统
  • 微软发布适用于Win7/8的Microsoft Edge预览版
  • 启智平台发布联邦学习开源数据协作项目OpenI纵横
  • 经过六个多月的延迟,微软终于推出Hyper
  • ZFS On Linux 0.8.1 发布,Python可移植性工作
  • DragonFly BSD 5.6.0 发布,HAMMER2状态良好
  • Linux Kernel 5.2
  • CentOS 8.0 看起来还需要几周的时间
  • 百度网盘Linux版正式发布
  • PCIe 6.0宣布:带宽翻倍 狂飙至256GB/s
  • PHP 7.4 Alpha 发布,FFI扩展,预加载Opcache以获得更好的性能
  • Canonical将在未来的Ubuntu版本中放弃对32位架构的支持
  • Scala 2.13 发布,改进的编译器性能
  • 微软的GitHub收购了Pull Panda,并且使所有订阅完全免费
  • Windows Subsystem for Linux 2 (WSL 2)现在适用于Windows 10用
  • Debian 10 “Buster”的RISC
  • MariaDB宣布发布MariaDB Enterprise Server 10.4
  • DXVK 1.2.2 发布,带来微小的CPU开销优化
  • DragonFlyBSD 5.6 RC1 发布,VM优化,默认为HAMMER2
  • PrimeNG 8.0.0 发布,支持Angular 8,FocusTrap等
  • GIMP 2.10.12 发布,一些有用的改进
  • 清华大学Anaconda 镜像服务即将恢复
  • Debian GNU/Linux 10 “Buster” 操作系统将于2019年7月6日发布
  • 时时彩论坛
  • 五星体育斯诺克
  • 北单比分直播
  • 河北11选5走势图
  • 福建体彩36选7开奖结果
  • 九龙图库下载