加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

新特性解读 | MySQL 5.7升级到MySQL 8.0的注意事项

发布时间:2019-07-20 00:05:17 所属栏目:编程 来源:爱可生
导读:弁言 近期项目举办MySQL 5.7.21到MySQL 8.0.13的进级测试,回收逻辑进级,设置文件来自于出产情形。在初始化MySQL 8.0时,初始化呼吁秒级完成,而数据目次却是空的,执行初始化操纵的shell窗口也没有任何的报错提醒。 通过翻阅官方手册发明MySQL 8.0.13中N

新特征解读 | MySQL 5.7进级到MySQL 8.0的留意事项

弁言

近期项目举办MySQL 5.7.21到MySQL 8.0.13的进级测试,回收逻辑进级,设置文件来自于出产情形。在初始化MySQL 8.0时,初始化呼吁秒级完成,而数据目次却是空的,执行初始化操纵的shell窗口也没有任何的报错提醒。

通过翻阅官方手册发明MySQL 8.0.13中NO_AUTO_CREATE_USER这种sql_mode已经废弃,而设置文件的sql_mode有这个设置项,最终导致了实例初始化失败。为了镌汰进级进程中呈现相同题目,因此对MySQL 5.7到8.0的进级举办部门清算,首要包罗:进级对MySQL版本的要求、进级都做了哪些内容、数据库进级做了哪些步调以及留意事项。

进级要求

  • MySQL 5.7进级到MySQL 8.0,要求MySQL5.7的版本是MySQL 5.7.9可能更高的GA版
  • 不支持跨版本进级

进级内容

  • 进级数据字典表的版本
  • 进级MySQL server 版本,首要包罗system表以及其他schema工具

进级步调

  • 进级数据字典,这个阶段首要进级MySQL库的数据字典表。数据字典的进级在数据库处事启动进程自动完成。
  • 进级MySQL库的体系表(剩余的非字典表);进级Performance schema、 information schema 、sys schema;进级用户schema。在MySQL 8.0.16版本之前,必要手动的执行MySQL_upgrade来完成该步调的进级,在MySQL 8.0.16版本是由MySQLd来完成该步调的进级。

进级留意事项

  • caching_sha2_password认证插件提供更多的暗码加密方法,而且在加密方面具有更好的示意,今朝MySQL 8.0选用caching_sha2_password作为默认的认证插件,MySQL 5.7的认证插件是MySQL_native_password。假如客户端版本过低,会造成无法辨认MySQL 8.0的加密认证方法,最终导致毗连题目。
  • MySQL存储引擎此刻认真提供本身的分区处理赏罚措施,而MySQL处事器不再提供通用分区支持,InnoDB和NDB是独一提供MySQL 8.0支持的当地分区处理赏罚措施的存储引擎。 假如分区表用的是此外存储引擎,存储引擎必需举办修改。要么将其转换为InnoDB或NDB,要么删除其分区。通过MySQLdump从5.7获取的备份文件,在导入到8.0情形前,必要确保建设分区表语句中指定的存储引擎必需支持分区,不然会报错。
  • MySQL 8.0的默认字符集utf8mb4,也许会导致之前数据的字符集跟新建工具的字符集纷歧致,为了停止新旧工具字符集纷歧致的环境,可以在设置文件将字符集和校验法则配置为旧版本的字符集和校验法则。
  • MySQL 8.0启动行使的lower_case_table_names值必需跟初始化时行使的同等。行使差异的配置从头启动处事器会引入与标识符的排序和较量方法纷歧致的题目。

< lower_case_table_names >

https://dev.mysql.com/doc/refman/8.0/en/server-systemvariables.html#sysvar_lower_case_table_names

  • 要停止MySQL 8.0上的启动失败,MySQL设置文件中的sql_mode体系变量不能包括NO_AUTO_CREATE_USER。
  • 从MySQL 5.7.24和MySQL 8.0.13开始,MySQLdump从存储措施界说中删除了NO_AUTO_CREATE_USER。 必需手动修改行使早期版本的MySQLdump建设的转储文件,以删除NO_AUTO_CREATE_USER。
  • 在MySQL 8.0.11中,删除了这些不保举行使的兼容性SQL Mode:DB2,MAXDB,MSSQL,MySQL323,MySQL40,ORACLE,POSTGRESQL,NO_FIELD_OPTIONS,NO_KEY_OPTIONS,NO_TABLE_OPTIONS。从5.7到8.0的复制场景中,假如语句行使到废弃的SQL Mode会导致复制非常。
  • 在执行到MySQL 8.0.3或更高版本的in-place进级时,BACKUP_ADMIN权限自动授予具有RELOAD权限的用户。

本文对MySQL 5.7到MySQL 8.0的进级进程中呈现部门易呈现题目举办清算:进级对MySQL版本的要求、进级都做了哪些内容、数据库进级做了哪些步调以及留意事项,但愿对各人版本进级有辅佐。

原创作者: 郭斌斌

【编辑保举】

  1. MySQL适用语句网络
  2. 分享一份适用的MySQL数据库类型,值得保藏
  3. 详解MySQL数据库JSON范例:用法、意义、内置函数
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读