MySQL5.7升级到8.0.36
MySQL5.7升级到8.0.36
一.升级前检查
二.升级中
三.升级后
四.回滚
一.升级前检查
mysql版本升级,升级方式有就地升级和逻辑升级2种方法,本次使用in-place就地升级.
In-Place-Upgrade(就地升级):就地升级关闭旧的MySQL服务器,用MySQL8的文件夹替换MySQL5.7文件夹,重新启动MySQL,以及升级现有安装中需要升级的任何剩余部分。逻辑升级有几种:一般常用的是mysqldump导入导出以及搭建逻辑备库.
1.1 使用mysqlsh升级前检查
根据自己的操作系统选择版本进行下载mysql shell,升级前的数据库检查
ldd 2.28下载地址:https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-8.0.36-linux-glibc2.28-x86-64bit.tar.gz
ldd 2.17下载地址:https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-8.0.36-linux-glibc2.17-x86-64bit.tar.gz
linux查看glibc版本
ldd --version
[root@node1 ~]# ldd --version
ldd (GNU libc) 2.17
Copyright © 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
1.2 上传到服务器,解压tar包,并添加到环境变量中
cd /data/software
tar -xvf mysql-shell-8.0.36-linux-glibc2.17-x86-64bit.tar.gz
mv mysql-shell-8.0.36-linux-glibc2.17-x86-64bit mysql-shell
vim /etc/profile
export PATH=$PATH:/data/software/mysql-shell/bin
source /etc/profile
[root@node1 software]# which mysqlsh
/data/software/mysql-shell/bin/mysqlsh
1.3 使用工具进行升级前的检查,检查项有可能返回三种Upgrade_issue,分别是 ERROR、WARNING、NOTICE。
ERROR:必须整改,否则升级失败。
WARNING: 可能需要整改,否则升级后有功能异常或不符合预期。
NOTICE: 升级程序会帮您自动处理好的,仅仅通知您升级程序会干这操作。
使用语句: mysqlsh -uroot -pP@ssw0rd -e “util.checkForServerUpgrade();”
或者以下语法
/data/software/mysql-shell/bin/mysqlsh – util check-for-server-upgrade { --user=root --socket=/tmp/mysql.sock } --target-version=8.0.36 --config-path=/etc/my.cnf
[root@node1 bin]# /data/software/mysql-shell/bin/mysqlsh – util check-for-server-upgrade { --user=root --socket=/tmp/mysql.sock } --target-version=8.0.36 --config-path=/etc/my.cnf
日志如下:
- Usage of utf8mb3 charset
Warning: The following objects use the utf8mb3 character set. It is
recommended to convert them to use utf8mb4 instead, for improved Unicode
support.