MySQL5.7升级至MySQL8.0详细步骤

更新Nextcoud版本时,后台提示“Nextcloud 21将不再支持这个版本,需要 MySQL 8 或更高版本”,在确认Wordpress也是支持Mysql8的之后,好吧,又开始折腾了。

安装前的准备工作

查看当前已安装的版本:

方法一 在线安装方案

配置MySQL8的yum源,访问MySQL网站,选择对应的版本下载至/etc/yum.repos.d/,或者编辑/etc/yum.repos.d/mysql-community.repo

方法二 离线安装方案

如果主机与MySQL连接速度不那么美好,访问MySQL网站,选择对应的rpm包并下载,推荐“RPM Bundle”打包版,或者参考Linux离线安装MySQL5.7及基本优化

RPM Bundle 包含以下文件:

  • mysql-community-client-8.0.25-1.el8.x86_64.rpm
  • mysql-community-libs-8.0.25-1.el8.x86_64.rpm
  • mysql-community-client-debuginfo-8.0.25-1.el8.x86_64.rpm
  • mysql-community-libs-debuginfo-8.0.25-1.el8.x86_64.rpm
  • mysql-community-client-plugins-8.0.25-1.el8.x86_64.rpm
  • mysql-community-server-8.0.25-1.el8.x86_64.rpm
  • mysql-community-client-plugins-debuginfo-8.0.25-1.el8.x86_64.rpm
  • mysql-community-server-debug-8.0.25-1.el8.x86_64.rpm
  • mysql-community-common-8.0.25-1.el8.x86_64.rpm
  • mysql-community-server-debug-debuginfo-8.0.25-1.el8.x86_64.rpm
  • mysql-community-debuginfo-8.0.25-1.el8.x86_64.rpm
  • mysql-community-server-debuginfo-8.0.25-1.el8.x86_64.rpm
  • mysql-community-debugsource-8.0.25-1.el8.x86_64.rpm
  • mysql-community-test-8.0.25-1.el8.x86_64.rpm
  • mysql-community-devel-8.0.25-1.el8.x86_64.rpm
  • mysql-community-test-debuginfo-8.0.25-1.el8.x86_64.rpm

0x01 备份数据库

停应用,停数据库,并开始备份。

MySQL8默认字符集是utf8mb4,而MySQL5是utf8,所以导出的数据需要指定为新的字符集。

0x02 卸载MySQL5.7

执行以下命令删除数据库服务器上旧版MySQL:

0x03 安装MySQL8.0

方法一 在线安装

方法二 离线安装

0x04 配置MySQL8.0

修改配置/etc/my.cnf

初始化数据库

检查字符集等

执行以下SQL语句检查当前字符集:

0x05 恢复数据

创建数据库

MySQL8开始,授权操作和用户操作必须分开,即创建用户的时候不能授权:

导入表结构和数据

0x06 恢复应用

回到应用服务器,启动nginx:

附加知识:常见问题说明

1、通过rpm安装,不能指定basedir。

2、初始化mysql时如果报错,再次初始化前要删除datadir中的文件。

3、自MySQL8开始,移除了以下配置选项:

  • innodb_file_format
  • innodb_file_format_check
  • innodb_file_format_max
  • innodb_large_prefix

原创文章禁止转载:技术学堂 » MySQL5.7升级至MySQL8.0详细步骤

精彩评论

4+2=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏