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

日志如下:

  1. 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.