• 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
    
    • 1

    之前已经安装过其他的源文件会报错,两个源文件冲突,需要先使用 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

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

    # yum-config-manager --disable mysql80-community
    # yum-config-manager --enable mysql57-community
    
    • 1
    • 2

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

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

    5 通过 yum 升级 MySQL 版本

    停掉 MySQL 服务

    # systemctl stop mysqld
    
    • 1

    升级 MySQL

    # yum update mysql-server
    
    • 1

    升级完之后重新启动 MySQL

    # systemctl start mysqld
    
    • 1

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

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

    # mysql_update
    
    • 1

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

    # systemctl restart mysqld
    
    • 1

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

    参考资料

    [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

  • 相关阅读:
    Notion 出现白屏的处理
    没有基础适合学习java吗?
    Linux:Jenkins:GitLab+Maven+Jenkins的部署
    Shading-JDBC、ShadingSphere、ShardingProxy 使用详解
    linux基本操作之gvim
    AWK语言第二版 2.6个人库 2.7小结
    wps 开发插件
    Vue学习之认识到应用(三)
    Request之登录系统跳转应用以及原理详解【JavaWeb】
    Qt6 mathgl数学函数绘图
  • 原文地址:https://blog.csdn.net/m0_67401660/article/details/126326577