介绍
本文介绍针对于Unix/Linux下二进制mysql的版本升级,
背景介绍
目前生产上四台数据库服务器,采用MHA架构,所有节点的mysql为5.6.35,采用编译安装源代码方式进行安装。客户在绿盟漏扫过程中发现一堆高危漏洞,因此需要进行数据库升级。
升级方案介绍
由于目前是MHA架构,因此计划先将三台slave节点进行升级。然后通过mha的在线切换功能将master节点漂移至备用master节点,再升级最后一台服务器。版本选择:采用直接使用mysql官方编译好的二进制安装包:mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
步骤
升级备机时先检查备机的复制状态。
show slave statusG
停止mysql服务
service mysqld stop
删除软连接
做mha的时候配置了两条软连接:/usr/local/bin/mysql /usr/local/bin/mysqlbinlog
rm -rf /usr/local/bin/mysql
rm -rf /usr/local/bin/mysqlbinlog
解压安装包
tar -zxf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz -C /data
rm -rf /data/mysql-5.6.42-linux-glibc2.12-x86_64/data
备份原数据库安装文件
原数据库目录为:/data/mysql
mv /data/mysql /data/mysql_backup
做软连接
ln -s /data/mysql-5.6.42-linux-glibc2.12-x86_64 /data/mysql
ln -s /data/mysql/bin/mysql /usr/local/bin/mysql
ln -s /data/mysql/bin/mysqlbinlog /usr/local/bin/mysqlbinlog
拷贝数据
mv /data/mysql_backup/data /data/mysql-5.6.42-linux-glibc2.12-x86_64/data
mv /data/mysql_backup/log /data/mysql-5.6.42-linux-glibc2.12-x86_64/log
修改权限
chown -R mysql:mysql /data/mysql/
启动
service mysqld start
执行升级命令
升级日志记录
重启mysql
service mysqld restart
查看主从复制状态
至此,slave节点mysql升级完毕
将剩余两台也按上述方式进行升级
使用mha在线切换功能切换master节点
masterha_master_switch --conf=/etc/masterha/app1.conf --master_state=alive --new_master_host=blxx-db07 --new_master_port=3306 --orig_master_is_new_slave --running_updates_limit=10000 --interactive=0