BEGIN;
INSERT INTO innodb_tbl(…);
INSERT INTO myisam_tbl(…);
COMMIT;
在事務(wù)中使用臨時表
BEGIN;
INSERT INTO innodb_tbl(…);
CREATE TEMPORARY TABLE temp1;
...
COMMIT;
小技巧
啟用GTID前,檢測系統(tǒng)中是否有GTID不支持的語句/事務(wù),提前處理。
全局系統(tǒng)變量enforce-gtid-consistency
OFF 不檢測是否有GTID不支持的語句/事務(wù)
WARN 當發(fā)現(xiàn)不支持的語句/事務(wù)時,返回警告,并在日志中記錄警告信息。
ON 當發(fā)現(xiàn)語句/事務(wù)不支持GTID時,返回錯誤。 ----所以上面報錯了
在線上的數(shù)據(jù)庫服務(wù)器或測試環(huán)境中,開啟WARN模式。
mysql> SET GLOBAL slave_parallel_workers = 8; #并發(fā)線程數(shù)量
mysql> SET GLOBAL slave_parallel_type = “ LOGICAL_CLOCK” ; #or DATABASE
mysql> START SLAVE SQL_THREAD
注意:如果主5.6 從5.7使用LOGICAL_CLOCK的模式可能會出現(xiàn)如下類型錯誤
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).