当前位置: 首页 >数据库 > mysql升级-rpm包

mysql升级-rpm包

0.绪论 

  公司为了安全需要,要将mysql版本升级至最新版本mysql5.7.21,升级之前的版本是mysql5.7.20。本文是升级过程记录。  

  由于yum的资源中没有mysql的安装包,因此本文选择先在mysql官网上下载rpm安装包,然后再通过yum安装。

  根据mysql的官方说明,mysql在连续的小版本之间升级很容易,比如mysql5.5升级到5.6,本文中就更简单了,小版本都没变。

  mysql小版本之间的升级的基本过程如下:

  (1)rpm包下载

  (2)解压rpm包,并安装新版本:

  yum install mysql-community-{server,client,common,libs}-*

  (3)启动mysql服务即可:service mysqld start

  (4)在命令窗口执行mysql_update,解决旧版本数据跟新版本mysql的不兼容问题(注意,该命令会使用mysql用户'root'@'localhost'登录mysql,密码为空。执行之前先确保你的mysql存在对应用户和密码,否则会报错。)

  (5)验证升级成功与否

  说明:

    升级过程其实就是上述过程的第2步(yum install mysql-community-{server,client,common,libs}-*),也就是说升级过程全部由mysql官方提供。对用户来说,跟安装一个新的mysql过程是一样的。在yum install时,首先会监测mysql服务有没有启动,如果mysql服务启动的话,会首先将mysql服务关闭。其次,mysql会检测系统中已安装的rpm包,并且将旧的rpm包删除,然后再安装新的rom包。

  值得注意的是,我们数据库中的记录在整个升级过程中都没有被改变。升级之后,原有的数据仍然在,这是一个非常令人开心的点。

1.升级记录截图

(1)升级之前,查看一下旧的安装包:

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

(2)根据服务器操作系统,在mysql官网下载指定版本的mysql rpm包。本文中要升级的服务器操作系统是centos6,因此选择下图红框中的rpm压缩包。

  说明一下,mysql官方对每个版本都提供了很多rpm包,包括rpm bundle是mysql所有rpm包的压缩包,非常方便。

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

(3)将rpm包上传至服务器,并解压

解压命令:tar -xvf mysql-5.7.21-1.el6.x86_64.rpm-bundle.tar

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

(4)将解压出的rpm包移动到一个目录下

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

(5)关闭服务器的mysql服务(这步可以省略,根据官方说明,mysql在更新时首先会关闭本机的mysql服务,然后再执行更新)

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

(6)在rpm包目录执行以下命令,直接安装5.7.21

命令:yum install mysql-community-{server,client,common,libs}-*
mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

(7)更新完毕,重启服务即可
mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

(8)更新命令:负责解决旧版本数据跟新版本mysql的不兼容问题

  命令:mysql_upgrade

  注意,该命令会使用mysql用户'root'@'localhost'登录mysql,密码为空。执行之前先确保你的mysql存在对应用户和密码,否则会报错。

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

 

(9)登录mysql,验证版本

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

 (10)结果验证:查看安装的rpm包,可以看到都更新为了mysql5.7.21版本的

mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

 2.跨版本的mysql升级

  之前还有一次从mysql5.1升级到mysql5.7的经历,在此一起记录一下。

  流程跟上面的基本一致,但是有几个问题列一下:

(1)在第二步(yum install)时报错:mysql旧版本的rpm包存在yum无法解决的依赖关系,无法卸载

  解决:使用yum remove命令手动卸载原有rpm包,再次安装即可

(2)yum install之后,启动mysql服务失败

  mysql升级-rpm包 _ JavaClub全栈架构师技术笔记

  原因及解决:5.7无法读取5.1的mysql.user表,解决方法使用--skip-grant-tables参数跳过授权验证。(参考博客

  执行命令:mysqld_safe --skip-grant-tables&   

作者:赵庆-BUPT
来源链接:https://www.cnblogs.com/walkingzq/p/8880439.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/database/117645.html

标签:MySQL升级
分享给朋友:

“mysql升级-rpm包” 的相关文章

全面解析Redis 2022年05月13日 10:22:02
必须拿下的Mybatis动态SQL 2022年05月17日 21:28:59
Oracle SQL 2022年06月05日 03:43:59
MySQL 查询指定时间范围内的数据 2022年06月06日 16:59:25
mysql查询结果中文显示成了问号 2022年06月07日 02:00:43
shell简单处理mysql查询结果 2022年06月10日 23:22:02
mysql 查询列拼接字段 2022年06月12日 09:17:20