備份數據庫中的某個表的數據報錯Statement violates GTID consistency

 

一、錯誤描述安全

執行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;方法

相關文章
相關標籤/搜索