内容纲要
概要描述
客户环境漏扫,在txsql所在节点扫描出大量mysql相关漏洞。
进入txsql的pod,通过 mysql -V
命令查看当前mysql的版本号,如果TDH版本是6.2.0之前的,版本号应该都是 mysql-5.6.31-77.0,此时需要将mysql版本升到 mysql-5.6.43-84.3,来修复相关漏洞。
详细说明
备份用户数据
注意:备份用户数据时,采用 逐个数据库备份
的方式来备份,如果采用全量备份,由于不同版本的MySQL的权限管理,因此MySQL版本不同时,全量备份方法可能会引起严重的数据损坏。
-
进入txsql任一pod
-
查看txsql的master节点,可知txsql的master节点是172.22.17.1节点
[root@tdh524-01 /]# /usr/bin/txsql/tools/txsql.sh list get master 172.22.17.1 expire time 1585013661 Tue Mar 24 09:34:21 2020 ip 172.22.17.1 port 17000 ip 172.22.17.2 port 17000 ip 172.22.17.3 port 17000
-
在文件 /etc/txsql1/conf/db.properties 的变量 db.password 查看登录txsql的密码,可知密码是 207898110
-
进入txsql数据库 /usr/bin/txsql/tools/txsql.sh shell,确认需要备份的数据库,其中默认的information_schema、mysql、performance_schema、test库不需要备份。
-
进入持久化路径 /var/log/txsql1/ 备份用户数据,备份完之后退出pod,确认备份文件已经存在于宿主机对应路径下。
/usr/bin/txsql/percona.src/bin/mysqldump -h172.22.17.1 -P3316 -uroot -p207898110 --set-gtid-purged=off --triggers --routines --databases workflow_workflow1 > workflow.sql
准备升级镜像
- 查看自己本地环境txsql镜像
通过 docker images | grep txsql 命令查看当前环境镜像:
- 拉取升级镜像到本地环境
docker pull 172.16.1.41:5000/postcommit/txsql:master-mysql5.6.43
- 将刚拉取的镜像打包成tar包
docker save 172.16.1.41:5000/postcommit/txsql:master-mysql5.6.43 > txsql-5-6-43.tar
- 将打包的tar包上传到需要升级的txsql节点,加载镜像
docker load < txsql-5-6-43.tar
升级节点升级mysql服务
- 备份之前的txsql镜像,并修改升级镜像的tag
docker tag tdh524-01:5000/transwarp/txsql:transwarp-5.2.4-final tdh524-01:5000/transwarp/txsql:transwarp-5.2.4-final-5.4.36 docker tag 172.16.1.41:5000/postcommit/txsql:master-mysql5.6.43 tdh524-01:5000/transwarp/txsql:transwarp-5.2.4-final
- 将镜像push到仓库
docker push tdh524-01:5000/transwarp/txsql:transwarp-5.2.4-final
- manager页面重启txsql服务
- 进入重启后的txsql的pod,查看mysql版本号,已经升级至 mysql-5.6.43-84.3 版本