Linux MySQL8.0.11版本升级到MySQL8.0.23【数据库备份】

本文详述了在Linux环境中如何升级MySQL数据库至8.0.23版本,包括下载安装、备份数据库、清除缓存、停止服务、执行升级及启动服务等步骤。过程中提到了mysqldump命令备份、Navicat工具备份、升级后的权限问题以及遇到的启动问题和解决方法。此外,还分享了在服务器上升级失败后选择卸载重装的处理过程。

因修复绿盟扫出来的一系列漏洞进行版本升级

msyql下载链接:https://dev.mysql.com/downloads/mysql/

1.选择对应linux版本下载

在这里插入图片描述

有两种方式,一种是用rz命令选择文件直接上传。
没有rz命令,需要先下载:

# yum -y install lrzsz
# rz

另一种是xftp ,需要下载客户端:https://www.netsarang.com/zh/all-downloads/
在这里插入图片描述

在这里插入图片描述

2.查看一下当前mysql版本

# rpm -qa|grep mysql

【我这里是vm虚拟机测试已经升级到了8.0.23】
在这里插入图片描述

3.备份数据库(这个很重要)也有几种备份方式。

3.1 通过mysqldump命令来进行备份,个人感觉这种备份方式最方便。
# mysqldump -uroot -p  --all-databases>/你想存放的路径/备份的名称.sql 【备份全部数据库】
# mysqldump -uroot -p  -wisdom>/opt/tess.sql  【备份单个数据库可指定数据库名称】
# mysqldump -uroot -p --default-character-set=utf8 wisdom>/opt/test.sql  【也可指定编码格式】

执行后可到备份的路径下查看有没有备份成功。不放心可以用另外一种备份方式再备份一遍。
在这里插入图片描述

3.2 通过MySQL管理工具Navicat或者sqlyog都可以进行备份

3.2.1 我这里用Navicat,右键数据库-转储sql文件-结构和数据;

在这里插入图片描述
在这里插入图片描述
3.2.2 或者也可以选择一个数据库-点击备份-点击新建备份。可以选择表或者视图一起进行备份。

在这里插入图片描述
在这里插入图片描述

4.清缓存避免升级版本产生差异

# mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"

5.关闭数据库

#systemctl stop mysqld
或者
#service mysql stop

6.mysql数据库升级

# rpm -Uvh  *.rpm
# rpm -Uvh  *.rpm  --nodeps --force

可能会报依赖检测失败的错误,后边加个 --nodeps --force
在这里插入图片描述
再次执行:
在这里插入图片描述

7.启动升级

# systemctl mysqld start
# mysql_upgrade -uroot -p 【这个命令5.7版本都可以的】
# mysqld --upgrade=NONE 【8.0.16之后用这个】
好像是权限不够,又加了一个 --user=root
# mysqld --upgrade=NONE --user=root

需要注意的是MySQL 8.0.16开始 mysql_upgrade 升级程序已经废弃
MySQL 8.0.16之后 新的升级方式,整体来讲分为2个步骤。

1.升级数据字典(DD)
2.服务器升级:升级 MySQL 系统表、升级用户表、升级 sys 表、升级帮助更新表
新的选项都表明什么?

**NONE:**不尝试进行升级

**AUTO:**默认选项,MySQL 进行数据字典升级和服务升级

**MINIMAL:**仅升级数据字典

**FORCE:**强制升级,相似旧的 mysql_upgrade –force

8.升级成功后查看版本

# mysql -	V

9.数据库数据还原

数据库还原,可以随便指定一个自带的数据库,后边跟sql文件的路径。执行命令:

# mysql -uroot -p --default-character-set=utf8 数据库名 </opt/mysqlbak.sql

*所遇问题记录

我在虚拟机中先安装了一个8.0.11版本然后升级到8.0.23,这个过程可以说是顺利的,然后就去服务器进行操作,就遇到了一个升级完成后无法成功启动mysql服务的问题。搞了一下午还是没升级成功,由于时间紧急,最后还是把所有有关mysql的服务全部卸载,重新装了一遍。

1.也就是上述步骤的第七步,启动mysql服务报错:

在这里插入图片描述
2.这是搜到的其他人的处理方法:https://blog.csdn.net/eagle89/article/details/79918256
3.我是先卸载mysql相关服务重装了一遍,过程倒也不是太麻烦~
参考这位的博客:https://blog.csdn.net/private66/article/details/80624212
我下边做一个引用:

卸载mysql服务

1.查看mysql安装了哪些包

# rpm -qa|grep mysql

在这里插入图片描述
2.mysql服务关闭并卸载

# service mysqld status -- [查看mysql服务运行状态]

在这里插入图片描述

# service mysqld stop  --[关闭mysql]
# rpm -ev mysql-5.1.73-8.el6_8.x86_64    --[rpm -ev 跟已安装的包名]
# rpm -ev mysql-libs-5.1.73-8.el6_8.x86_64

注意:可能会抛依赖错误错 error:Failed dependencies:

,则加上 --nodeps不检查依赖关系删除

# rpm -e --nodeps 包名

3.删除遗留的mysql文件和依赖库

# find / -name mysql
# rm -rf /var/lib/mysql

4.msyql配置文件删除

# rm -rf /etc/my.cnf

5.检查一遍mysql 是否成功删除

# rpm -qa|grep mysql

重新安装查看上篇


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

twenty-six

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值