墨墨导读:每个 DBA 在工作中都会面临数据库升级的问题,本文详细介绍MySQL 从 5.7 升级到 8.0 的过程,希望可以帮助到大家。
为什么升级到MySQL 8.0
基于安全考虑
基于性能和 稳定性考虑:
mgr复制 ,并行复制writeset 等功能,性能提升新的功能:
Hash join ,窗口函数,DDL即时,joson 支持原始环境中版本太多,统一版本
8.0版本基本已到稳定期,可以大量投入生产环境中
升级之前需要了解
数据库字典升级
schema,mysql,information_schema,performance_schema,sys
比如:密码测试 mysql_native_password → caching_sha2_password关键词是不是兼容
https://dev.mysql.com/doc/refman/8.0/en/keywords.html
关键词 added in查询SQL是不是兼容
Group by处理上的不兼容,触发器,存储过程
5.6 可以跑select id,count(*)from group by name;
5.7,8.0是不是允许的 sql_mode控制数据文件存储格式是不是可以直接升级
Perconal 和 mysql 存储引擎一直,可以完全兼容现有应用的兼容性是否满足
自定义函数,一些不规范的SQL语句等等密码策略
What Is New in MySQL 8.0
作为DBA需要基本了解8.0的一些功能,参考:https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html
Added in 添加功能
Features Deprecated 弃用功能
Features Removed 移除功能