Ubuntu18.04将数据库MySql从5.7版本升级到8.0版本

1.升级前的检查准备
在终端运行命令:
mysqlcheck -u root -p –all-databases –check-upgrade
返回结果如果全部都是OK, 就表示检查没问题,进入下一步。如果有错误,看这里:https://dev.mysql.com/doc/refman/8.0/en/upgrade-prerequisites.html

2.备份数据库
mkdir mysql-backup
cd mysql-backup
mysqldump –all-databases –single-transaction –quick –lock-tables=false > full-backup-$(date +%F).sql -u root -p
该命令各个参数解释:

–all-databases : 表示导出全部数据库
–single-transaction : 这个不太懂,网上的解释也没看明白,需要补充补充数据库基础了。。
–quick : 导出时不会将数据加载到缓存,而是直接输出。默认就是启用状态。可以使用–skip-quick 取消该选项。
–lock-tables:开始导出前,锁定所有表。当导出多个数据库时,–lock-tables分别为每个数据库锁定表。
$(date+%F)表示获取当前时间,在Linux Shell中:
–user, –u指定连接的用户名
–password, –p连接数据库密码

3.添加MySQL APT

进入mysql官网下载最新的版本https://dev.mysql.com/downloads/repo/apt/
下载mysql-apt-config_0.8.15-1_all.deb:

安装:
wget https://repo.mysql.com//mysql-apt-config_0.8.15-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
sudo apt-get update

4.安装新版的MySQL
service mysql stop # 先停了MySQL service
sudo apt-get install mysql-server
sudo service mysql start # 开启MySQL service
最后检查下升级后的版本:

mysql -V

显示:
mysql Ver 8.0.17 for Linux on x86_64 (MySQL Community Server – GPL)
已经升级成功。

5.MySQL小版本升级方式

/usr/sbin/mysqld –upgrade=AUTO

NONE:不尝试进行升级
AUTO:默认选项,MySQL 进行数据字典升级和服务升级
MINIMAL:仅升级数据字典
FORCE:强制升级,类似旧的 mysql_upgrade –force

小版本升级一般是两个步骤

1.升级数据字典(DD)
2.服务器升级:升级 MySQL 系统表、升级用户表、升级sys表、升级帮助更新表

可能出现的问题:
1.升级数据字典:原子性操作。如果操作失败,则根据目录可以回滚回来。
2.升级系统表、用户表:可以从备份还原中恢复。

 

参考文章:http://huanyouchen.github.io/2019/08/08/Upgrade-MySQL-version-from-5.7-to-8.0-under-ubuntu18.04/

本文由作者 okass 发布在 TNEXT , 转载请联系service@tnext.org授权处理,获得授权后请保留文章的完整性并附上原文链接: https://tnext.org/6401.html

Tags:

We will be happy to hear your thoughts

发表评论

error: Content is protected !
TNEXT