美文网首页
MySQL~升级8.0

MySQL~升级8.0

作者: 开心的蛋黄派 | 来源:发表于2024-07-20 09:54 被阅读0次

一、兼容性测试

  1. 版本检测
    • 使用 mysqlsh util.checkForServerUpgrade() 来检测当前MySQL版本是否适合升级到目标版本。
  2. 保留并调整的参数
    • skip_ssl:在新版本需要设置为1 不使用ssl加密
    • innodb_data_file_path:需要检查下具体路径
    • sql_modeNO_AUTO_CREATE_USER 在新版本中不再支持,应从 sql_mode 中移除该选项。
    • explicit_defaults_for_timestamp:在新版本中需要设置为ON
    • local_infile:如果需要使用 LOAD DATA LOCAL INFILE 语句,将此参数设置为 1(或 ON)。
    • default_authentication_pluginmysql_native_password
      下面两个选项涉及到排序规则,如果你的表设置了具体的排序规则,就恢复成5.7默认值保证兼容性
    • collation_server:utf8mb4_general_ci
    • skip-character-set-client-handshake:在新版本设置为1,会忽略客户端请求的字符集设置。
  3. 废弃的参数
    • binlog_expire_days:此参数在新版本中已废弃。应使用 binlog_expire_logs_seconds 替代。
  4. 新增的参数
    • binlog_expire_logs_seconds=604800:设置二进制日志的过期时间为 604800 秒(即 7 天)。
    • mysqlx_socket=a.socket:配置 MySQL X Protocol 使用的 socket 文件。
    • mysqlx_port=33061:配置 MySQL X Protocol 使用的端口号。根据您的实际需求进行设置。
    • innodb_redo_log_archive_dirs:配置重做日志的归档路径。根据您的实际路径和需求进行设置。
    • innodb_redo_log_archive_capacity:配置重做日志归档的大小限制。根据您的实际需求进行设置。
    • plugin_load_add=mysql_clone.so:加载 mysql_clone 插件。确保该插件文件存在于 MySQL 的插件目录中。
    • innodb_print_ddl_logs=1:启用此参数以在错误日志中打印 DDL 语句的详细信息。这对于调试和监控 DDL 更改非常有用。
  5. 参数一致性校验
    • 使用 pt-config-diff 工具来比较不同MySQL实例之间的配置差异,确保一致性。
  6. 程序测试
    • 确认Java驱动已更新以支持MySQL 8.0。
    • 测试并确认移除或替换的函数如 date_format, datetime_format, time_format, JSON(APPEND, MERGE), 和 password 加密函数。
    • 检查并更新使用 GROUP BY ASC/DESC 的SQL语句,因为这在MySQL 8.0中不再支持。
    • 验证程序中是否使用了MySQL 8.0新增的关键字,并做适当调整。
    • 测试程序以确保没有错误,SQL语句得到支持,并且性能符合预期。

二、升级步骤

  1. 备份
    • 使用 xtrabackup 进行物理备份以恢复实例。
  2. 安装新版本
    • 安装MySQL 8.0.32新版本实例。
  3. 恢复实例
    • 关闭需要设置 innodb_fast_shutdown=0
    • 在安全模式下启动8.0.32版本,使用 skip-networking--skip-grant-tables 参数。
  4. 观察升级
    • 监视升级到8.0.32后的系统行为和性能。
  5. 正常启动
    • 关闭安全模式,正常启动MySQL实例。
  6. 主从复制设置
    • 配置新实例作为从库,连接到主库,并执行 CHECKSUM TABLE 校验核心表的一致性。
  7. 主从切换
    • 执行主从切换,进行滚动升级以确保服务的高可用性。
  8. 升级工具
    • 升级 xtrabackup 工具以保持与MySQL 8.0.32版本的兼容性。

相关文章

网友评论

      本文标题:MySQL~升级8.0

      本文链接:https://www.haomeiwen.com/subject/vvikcjtx.html