暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL安装、配置篇——升级MySQL

MySQL会定期发布补丁程序,补丁程序的安装方法采用替换安装的方式进行。事实上,MySQL的升级方法也同样采用替换安装的方式。本篇将介绍MySQL的升级方法。

相同大版本的MySQL进行升级的方法最为简单,例如,从8.0.18升级至8.0.32,此外,也可从5.7.9之后的5.7版本直接升级至8.0的任意版本。如果需要从5.7之前的版本升级到8.0,建议读者首先将MySQL升级至5.7的最新版本,之后再升级到8.0。升级方式主要有两种,直接替换和逻辑替换,读者可以根据升级前后的不同版本,选择替换方式,避免出现兼容性问题。

注意事项:

  • 升级之前要对MySQL进行备份,以备出现意外时可以进行恢复。

  • MySQL不支持降级操作,只能利用升级前的备份进行恢复。


升级准备

升级之前,读者需要仔细阅读MySQL的发行说明,了解当前使用的MySQL版本与升级的目标版本之间的差异。包括已知问题、不兼容的变更、增加或改变的功能,及重要的变化。

一个小技巧,如果读者不清楚需要升级的功能在MySQL的哪个版本里面出现,可以使用Google或者Bing进行关键字检索,例如:

    site:dev.mysql.com/doc/relnotes keyring plugin
    复制


    使用mysql shell进行升级检查

    mysql shell里面提供了一个升级检查工具“util.checkForServerUpgrade()”。该工具可以验证当前MySQL实例是否能够进行升级,它能够检查兼容性的问题和错误,支持从5.7升级至8.0,如果用户提供配置文件的路径,可以检查my.cnf或my.ini文件。mysql shell必须使用与升级目标MySQL相同的版本。关于该工具的使用请参照MySQL Shell系列——升级检查器

    直接替换方式(物理替换)

    直接替换方式的升级过程如下:

    1. 停止运行中的MySQL服务器(mysqld)

    2. 备份全部的MySQL文件

    3. 启动新版本的MySQL服务器(配置文件与之前相同)

    4. 运行“mysql_upgrade”(仅适用于8.0.16之前的版本,升级至之后的版本无需运行该程序)


    逻辑替换方式(备份恢复方式)

    逻辑替换方式的升级过程如下:

    1. 使用“mysqldump”备份当前的MySQL数据库,例如

      mysqldump --all-databases --routines --events --add-drop-table --lock-all-tables --flush-privilege=0 > data-for-upgrade.sql

    2. 安装并初始化新版本的MySQL服务器

    3. 启动新版本MySQL服务器份的文件中恢复数据(由于不兼容的原因,可能会出现错误

    4. 运行“mysql_upgrade”(仅适用于8.0.16之前的版本,升级至之后的版本无需运行该程序)

    其他方式

    读者可以利用MySQL的主从复制进行滚动升级,复制拓扑里面的MySQL依序升级。读者还可以在一台临时的主机上运行应用程序,以减少替换升级带来的停机影响。

    以上内容是关于MySQL升级的介绍。感谢关注“MySQL解决方案工程师”

    我写的关于MySQL高可用解决方案的书籍已经出版,感兴趣的读者可以通过下面的链接进行购买。

    文章转载自MySQL解决方案工程师,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论