BEGIN;
INSERT INTO innodb_tbl(…);
INSERT INTO myisam_tbl(…);
COMMIT;
在事務中使用臨時表
BEGIN;
INSERT INTO innodb_tbl(…);
CREATE TEMPORARY TABLE temp1;
...
COMMIT;
小技巧
啟用GTID前,檢測系統中是否有GTID不支持的語句/事務,提前處理。
全局系統變量enforce-gtid-consistency
OFF 不檢測是否有GTID不支持的語句/事務
WARN 當發現不支持的語句/事務時,返回警告,并在日志中記錄警告信息。
ON 當發現語句/事務不支持GTID時,返回錯誤。 ----所以上面報錯了
在線上的數據庫服務器或測試環境中,開啟WARN模式。
mysql> SET GLOBAL slave_parallel_workers = 8; #并發線程數量
mysql> SET GLOBAL slave_parallel_type = “ LOGICAL_CLOCK” ; #or DATABASE
mysql> START SLAVE SQL_THREAD
注意:如果主5.6 從5.7使用LOGICAL_CLOCK的模式可能會出現如下類型錯誤
Last_Errno: 1756
Last_Error: … The slave coordinator and worker threads are stopped, possibly leaving data in inconsistent state. A restart should restore consistency automatically, although using non-transactional storage for data or info tables or DDL queries could lead to problems.In such cases you have to examine your data (see documentation for details).