mysql错误处理之ERROR 1786 (HY000)


ERROR 1786 (HY000)

【环境描述】

msyql5.6.14

【报错信息】

执行create table ... select的时候遇到报错:

复制代码 代码如下:

db1 [test] [23:01:58]> create tablelgmnr_bak select * from lgmnr;
ERROR 1786 (HY000): CREATE TABLE ... SELECTis forbidden when @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1

【报错原因】

ERROR1786是由于开启了enforce_gtid_consistency=true功能导致的,MySQL官方解释说当启用enforce_gtid_consistency功能的时候,MySQL只允许能够保障事务安全,并且能够被日志记录的SQL语句被执行,像create table ... select 和 create temporarytable语句,以及同时更新事务表和非事务表的SQL语句或事务都不允许执行。

db1 [test] [23:28:28]> show variableslike 'ENFORCE_GTID_CONSISTENCY';

+--------------------------+-------+

| Variable_name   | Value |

+--------------------------+-------+

| enforce_gtid_consistency | ON |

+--------------------------+-------+

【解决方法】

由于enforce_gtid_consistency参数是只读的,所以必须重启MySQL服务才能是配置生效。

尝试在线动态修改时的报错:

复制代码 代码如下:

db1 [test] [23:37:56]> set globalenforce_gtid_consistency=true;
ERROR 1238 (HY000): Variable'enforce_gtid_consistency' is a read only variable



相关阅读:
Linux下快速批量修改文件夹下的图片名称的方法
C#伪彩色处理的具体方法
Oracle Number型数值存储与转换的实现详解
Win7下Chrome字体渲染颜色太淡颜色不够黑的解决方法
Android中实现下载URL地址的网络资源的实例分享
微软重申:Windows 10升级仅对Insider会员免费
使用GruntJS构建Web程序之合并压缩篇
微信WeixinJSBridge API使用实例
C#分析URL参数并获取参数和值对应列表的方法
js简单网速测试方法完整实例
TypeScript 中接口详解
JS网页播放声音实现代码兼容各种浏览器
Oracle中使用DBMS_XPLAN处理执行计划详解
CSS中height和width在IE和其他浏览器中的区别图文详解
快速导航

Copyright © 2016 phpStudy |