mysql版本升级方案

## 升级说明 - 目前好签mysql的版本是8.0.29。好签服务包也会不定期更新mysql的小版本,但非与官网同步。查询好签内嵌的mysql版本可执行语句`/opt/wellsign-sdko-off/mysql/bin/mysql -uroot -P23306 -S /opt/wellsign-sdko-off/mysql/tmp/mysql.sock -p`,密码是`root`。登录后执行 `SELECT VERSION();`。如图:![image.png](https://cos.easydoc.net/74177308/files/ln15mk7c.png) - 如因漏洞检测等原因发现需要升级mysql的版本,可自行部署对应符合要求的mysql版本。版本需要是8.x版本才符合要求。 - 自己管理mysql后,后期需自行维护mysql的启动关闭,维护升级等功能。部署目录不做要求,但是为了方便管理请**不要**部署在好签服务的目录中,也就是不要部署在 `/opt/wellsign-sdko-off/` 目录中。 - 好签提供数据迁移方案,可将数据迁移到自己部署的mysql中。 ## 升级步骤 #### 安装新版mysql - 可利用自身业务已有mysql(需是8.x版本)或者从[mysql官网](https://downloads.mysql.com/archives/community/)下载符合要求的版本进行部署。部署方式由于平台不同,可自由上网搜索。 #### 迁移数据 1. 迁移数据即把好签内嵌数据导出成脚本,需提前检查存储空间是否足够。好签内嵌mysql数据容量命令查询:`du -sh /opt/wellsign-sdko-off/mysql/`。查出结果减去786MB,即为待会导出的数据库脚本的容量大小。 2. 下载文件[wellsign-sdko-off-nosql.sh](https://wellsign-soft.oss-cn-beijing.aliyuncs.com/sdko/service/1.8/wellsign-sdko-off-nosql.sh)。然后上传到好签服务器的 `/opt/wellsign-sdko-off/`目录下。 3. 停止好签服务,但是不关闭好签内嵌的mysql。主要是防止迁移的数据存在不完整,所以需要停服。执行操作命令`/opt/wellsign-sdko-off/wellsign-sdko-off-nosql.sh stop` 3. 执行数据库导出成sql脚本文件命令:`/opt/wellsign-sdko-off/mysql/bin/mysqldump -uroot -P23306 -S /opt/wellsign-sdko-off/mysql/tmp/mysql.sock -p sdkone_offline > /opt/sdkone_offline.sql`。按回车键后,提示需要输入密码,密码为 `root` 。输入后再次按回车即可导出成功。导出的sql脚本文件即为 `/opt`目录下的`sdkone_offline.sql`文件。其中命令最后的 `/opt/sdkone_offline.sql`可自由设定,设定导出脚本文件所在的目录。 4. 登录新部署的mysql中,登录的地址、账号密码是部署mysql时设定的,如不知,可询问部署mysql的人员或者网上搜索相关部署详情。 5. 在新版mysql中,创建数据库,命令为:`CREATE DATABASE sdkone_offline CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;`。创建成功如图所示:![image.png](https://cos.easydoc.net/74177308/files/ln12qwtl.png) 6. 切换数据库,命令:`user sdkone_offline;`。然后执行 `source /opt/sdkone_offline.sql;`其中 `/opt/sdkone_offline.sql`即为一开始导出的脚本目录。执行成功后如图:![image.png](https://cos.easydoc.net/74177308/files/ln12xdyv.png) 7. 至此数据已迁移完毕。 #### 修改好签服务数据库连接配置 1. 进入目录`/opt/wellsign-sdko-off/tomcat/webapps/sdko/WEB-INF/classes`。vim打开编辑`application.yml`文件。可参考[application.yml 修改方法](doc:r5hMhJH0) 2. 找到数据库连接配置处,将localhost:23306 修改为实际的ip地址和端口号。username和password原来都是root,也需要修改为自己部署的mysql对应的账号和密码。![image.png](https://cos.easydoc.net/74177308/files/ln133tn7.png) #### 后续服务运行相关步骤和说明 - `/opt/wellsign-sdko-off/wellsign-sdko-off.sh`是用来启动关闭好签tomcat服务和内嵌mysql服务的 - `/opt/wellsign-sdko-off/wellsign-sdko-off-nosql.sh`是只用来启动关闭好签tomcat服务的 1. 使用命令`/opt/wellsign-sdko-off/wellsign-sdko-off.sh stop`关闭好签内嵌的mysql服务。注意这次使用后,理论来说以后服务的启动关闭都需要使用`wellsign-sdko-off-nosql.sh`脚本文件了,因为如果继续使用`wellsign-sdko-off.sh`文件则会将好签内嵌的mysql服务启动,影响后续服务正常运行的验证和漏洞检测。 2. 启动好签服务,使用命令`/opt/wellsign-sdko-off/wellsign-sdko-off-nosql.sh start` 3. 至此数据迁移完毕且好签服务连接到新部署的mysql数据库中。 4. 登录业务系统,检查是否正常运行以及数据是否丢失。 5. 待确定服务稳定可用,数据无丢失后,可根据实际情况考虑是否删除或者归档存储`/opt/sdkone_offline.sql`脚本文件以及好签的内嵌数据库`/opt/wellsign-sdko-off/mysql` 文件夹。 6. **在未通过以上验证时,只可以把好签内嵌mysql关闭,不能做删除处理,防止万一没有迁移成功或者其他问题等,数据库删除了就无法找回了。**