CentOS 7 下将 MySQL 5.6 升级为MySQL 5.7

CentOS 7 下将 MySQL 5.6 升级为MySQL 5.7

学长写的一个sql语句用到了 MySQL 5.7 的函数,这个函数在 MySQL 5.6 中不支持,所以现在需要在不影响数据库数据的情况下升级版本

备份数据

虽然以下升级方法不影响数据库的数据,但为了以防万一,建议备份原数据库表

下载安装 MySQL 5.7 的 yum 源

1 在 MySQL官网中下载 MySQL 5.7 的源

选择 5.7,操作系统选择 Red Hat,然后点击下方的 Download Now
在这里插入图片描述
在这里插入图片描述
跳转页面后,在下方的下载列表里面选择和自己操作系统版本对应的下载
在这里插入图片描述
点击下载后会让我们登录,可以选择不登录,直接下载
在这里插入图片描述
我下载后的文件名为 mysql80-community-release-el7-3.noarch.rpm,里面包含了 8,5.7,5.6 等多个版本,默认有效的是 8 的版本。我之前直接升级到了 8 的版本,结果会提示 5.6 以前的不能升级到 8,会失败,所以我又搞了半天回退升级的操作,需要使 5.7 的为默认有效的,让 5.6 升级到 5.7。

2 安装 MySQL 源

可以安装自己的下载的文件

# yum install mysql80-community-release-el7-3.noarch.rpm

之前已经安装过其他的源文件会报错,两个源文件冲突,需要先使用 yum remove 删除掉之前的源,然后再安装现在的源。

3 设置源中的 5.7 为有效

通过以下命令可以查看安装源所支持的所有版本

# yum repolist all | grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community   disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community   disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - disabled
mysql-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community   disabled
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - disabled
mysql-connectors-community/x86_64  MySQL Connectors Community    enabled:    108
mysql-connectors-community-source  MySQL Connectors Community -  disabled
mysql-tools-community/x86_64       MySQL Tools Community         enabled:     90
mysql-tools-community-source       MySQL Tools Community - Sourc disabled
mysql-tools-preview/x86_64         MySQL Tools Preview           disabled
mysql-tools-preview-source         MySQL Tools Preview - Source  disabled
mysql55-community/x86_64           MySQL 5.5 Community Server    disabled
mysql55-community-source           MySQL 5.5 Community Server -  disabled
mysql56-community/x86_64           MySQL 5.6 Community Server    disabled
mysql56-community-source           MySQL 5.6 Community Server -  disabled
mysql57-community/x86_64           MySQL 5.7 Community Server    enabled:    347
mysql57-community-source           MySQL 5.7 Community Server -  disabled
mysql80-community/x86_64           MySQL 8.0 Community Server    disabled
mysql80-community-source           MySQL 8.0 Community Server -  disabled

默认是 mysql80-community 有效,使 5.7 有效的方法是执行下面两条命令:

# yum-config-manager --disable mysql80-community
# yum-config-manager --enable mysql57-community

4 错误升级为 8 后回退 yum 升级历史

# yum history list    列出通过Yum执行过的操作
# yum history info 7   查看ID 7 的操作过程
# yum history undo 7   撤销  ID 7 的操作

5 通过 yum 升级 MySQL 版本

停掉 MySQL 服务

# systemctl stop mysqld

升级 MySQL

# yum update mysql-server

升级完之后重新启动 MySQL

# systemctl start mysqld

重启可能会报错,具体错误可以见参考资料描述,需要跳过密码验证的方式启动 mysqld。

可以进入MySQL客户端,发现版本已经更新了,最后还需要退出客户端,再执行以下命令对数据库表进行升级

# mysql_update

执行完毕之后就可以重启MySQL服务,完成升级

# systemctl restart mysqld

注意如果设置了跳过密码验证方式,需要取消该方式

参考资料

[1] http://www.zsythink.net/archives/2345 MySQL 从 5.1 升级到 5.7 (使用 yum 源)
[2] https://www.cnblogs.com/Cohen/p/9027553.html yum 回滚
[3] https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 从源中安装 5.7 而不是 8

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值