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/
本文由作者 okass2 发布在 WirelessLink , 转载请联系客服授权处理,获得授权后请保留文章的完整性并附上原文链接: https://wirelesslink.net/6401.html