一、錯誤描述安全
執行CREATE TABLE tig_pairs_20190521 AS SELECT *FROM tig_pairs報錯:日誌
1 queries executed, 0 success, 1 errors, 0 warnings事務
查詢:call account_check_main('20180511')it
錯誤代碼: 1786
Statement violates GTID consistency: CREATE TABLE ... SELECT.io
執行耗時 : 0 sec
傳送時間 : 0 sec
總耗時 : 0.066 sec
1
2
3
4
5
6
7
8
9
10
二、錯誤緣由
這是由於在5.6及以上的版本內,開啓了 enforce_gtid_consistency=true 功能致使的,MySQL官方解釋說當啓用 enforce_gtid_consistency 功能的時候,MySQL只容許可以保障事務安全,而且可以被日誌記錄的SQL語句被執行,像create table … select 和 create temporarytable語句,以及同時更新事務表和非事務表的SQL語句或事務都不容許執行。table
三、解決方法
方法一(推薦):
修改 :SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = off;class
配置文件中 :ENFORCE_GTID_CONSISTENCY = off;配置
方法二:
create table xxx as select 的方式會拆分紅兩部分。select
create table xxxx like data_mgr;
insert into xxxx select *from data_mgr;方法