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).