龙空技术网

详解MySQL兼容性show_compatibility_56参数

波波说运维 233

前言:

此刻朋友们对“mysql找不到兼容服务器”可能比较关注,各位老铁们都需要分析一些“mysql找不到兼容服务器”的相关知识。那么小编在网摘上网罗了一些有关“mysql找不到兼容服务器””的相关内容,希望朋友们能喜欢,大家一起来了解一下吧!

概述

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

在涉及到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.
解决过程

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

1、查看show_compatibility_56值

MySQL> show variables like '%show_compatibility_56%';

2、把show_compatibility_56打开

mysql> set global show_compatibility_56=on;mysql> show variables like '%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

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

标签: #mysql找不到兼容服务器 #mysql升级56 #mysql命令show