<返回更多

详解MySQL兼容性show_compatibility_56参数

2019-08-28    
加入收藏

概述

简单记录一下以下报错的解决办法, 仅供参考。

在涉及到MySQL5.6和mysql5.7数据库时提示以下报错:

DBD::mysql::st execute failed: The 'INFORMATION_SCHEMA.GLOBAL_VARIABLES' feature is disabled; see the documentation for 'show_compatibility_56' at myawr.pl line 760.
详解MySQL兼容性show_compatibility_56参数

 


解决过程

从mysql5.7.6开始information_schema.global_status已经开始被舍弃,为了兼容性,此时需要打开show_compatibility_56

1、查看show_compatibility_56值

MySQL> show variables like '%show_compatibility_56%';

详解MySQL兼容性show_compatibility_56参数

 

2、把show_compatibility_56打开

mysql> set global show_compatibility_56=on;
mysql> show variables like '%show_compatibility_56%';
详解MySQL兼容性show_compatibility_56参数

 


show_compatibility_56参数

MySQL5.6版本到5.7版本的更新包括一些不兼容的特性,在升级到5.7之前,我们需要知道这些不兼容的特性并手动更新,在其中涉及到REPAIR TABLE和USE_FRM选项的指令一定要在更新版本之前完成。

配置项更新:

1、--early-plugin-load

MySQL5.7.11,此参数的默认值为keyring_file(是一个二进制文件的插件),InnoDB表空间在初始化InnoDB之前需要此插件来加密,但是MySQL5.7.12及以后此参数默认为空,所以5.7.11升级到5.7.12后,如果已经在之前的版本中使用此插件对InnoDB表空间进行了加密,在开启服务时需要指定参数 --early-plugin-load

2、系统表

MySQL5.6中INFORMATION_SCHEMA 中存在系统变量和状态变量的表,show variables 和show status也是基于此库中的表,在5.7.6时被Performance Schema也存在这四张表,show 语句开始基于Performance Schema中的表,如果show_compatibility_56参数开启,则兼容5.6

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>