标签:ERROR 1786 报错 HY000 consistency MySQL enforce gtid
1.1.1. 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
标签:ERROR,1786,报错,HY000,consistency,MySQL,enforce,gtid 来源: https://www.cnblogs.com/xfgnongmin/p/10703986.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。