结论
通过测试验证得出结论:
1.mysql 8.0.18 升级8.0.20 较 8.0.16之前的版本更为简洁,直接安装好二进制软件后,使用8.0.20 二进制起库即可
2.从8.0.18升级到8.0.20 之后,不能回退
升级步骤1.安装软件包
2.停库
查看processlist 是否有正在执行的会话,如果有确认是否可以kill
mysql -h $ip -p $port -u $username -p $pwd -D $database -e 'select
concat('kill connection ', id, ';') from information_schema.processlist where user not in ('root');'
port=5518
/mysql/base/bin/mysqladmin --login-path=root --socket=/var/mysql.sock shutdown
ps -ef |grep $port |grep -v grep
备份数据目录
cp -rp data data_$(date +'%Y%m%d')_bak
ll -rth data_$(date +'%Y%m%d')_bak
3.起库
修改conf 文件
cp my.cnf my.cnf_$(date +'%Y%m%d')_bak
确认cpoy 成功
sed -i '/basedir/ s#8.0.18#8.0.20#g' my.cnf
cat my.cnf |grep basedir
cd /mysql/8.0.20 && ./bin/mysqld_safe --defaults-file=/var/my.cnf &
查看日志
tail -30f log/error.log
输出日志如 下:2021-01-19T22:11:44.183128+08:00 5303798 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.18).
2021-01-19T22:11:48.975960+08:00 0 [System] [MY-010910] [Server] /var/mysql/8.0.18/bin/mysqld: Shutdown complete (mysqld 8.0.18) MySQL Community Server - GPL.
2021-01-19T23:30:32.879167+08:00 0 [System] [MY-010116] [Server] /var/mysql/8.0.20/bin/mysqld (mysqld 8.0.20) starting as process 25328
2021-01-19T23:30:32.896221+08:00 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-01-19T23:30:41.292984+08:00 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-01-19T23:30:44.913587+08:00 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx.sock'
2021-01-19T23:30:47.376901+08:00 4 [System] [MY-013381] [Server] S