说明:本次将 8.0.11 版本(rpm 包安装的)升级至 8.0.30 版本(二级制解压)
操作内容为:停库后将 8.0.11 的 MySQL 数据文件 datadir 下的内容拷贝到另外一个目
录/data/mysql/data/中,然后用新软件 8.0.30 拉起来。
1. 检查版本
mysql -uroot -p'password' -h localhost
select @@global.version;
2. 升级检查:使用 mysql shell 命令检查升级到目标版本 8.0.30,确认没有 error 级别的问题
/data/enmo/mysqlshell8030/bin/mysqlsh -- util checkForServerUpgrade
root@localhost:3306 --target-version=8.0.30 --config-path=/etc/my.cnf
3. 检查没有未提交的 xa 事务
mysql> xa recover;
4.参数确认,确保数据都刷到硬盘上
mysql> set global innodb_fast_shutdown=0;
mysql> select @@global.innodb_fast_shutdown;
mysql> shutdown;
5. 进行备份(冷备数据文件 datadir)
cp -r /data/mysqldata/* /data/mysql/data/
chown -R kaiyuanuser.kaiyuangrp /data/mysql/data
6. 升级:用 MySQL8.0.30 软件直接启动/data/mysql/data 中的数据
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my8030.cnf
--user=kaiyuanuser &
7,登录服务器确认
mysql -uroot -p'mG!2pauyS*0sC@qXl' -S /data/mysql/run/mysql.sock
select version();
后续操作:
1,用克隆 clone 的方式在线搭建备库
2,确定没问题后,将原有的 MySQL 以 rpm 包方式安装的软件 8.0.11 版本的卸载掉!
3,原来 systemctl 启动方式删掉或者进行修改
评论