mysql gtid_mode ERROR 1786

在 mysql 5.7 执行

create table a1 select * from event;
执行失败,失败原因:ERROR 1786 (HY000): Statement violates GTID consistency: CREATE TABLE ... SELECT.

查看状态

    mysql> show variables like '%gtid_mode%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| gtid_mode     | ON   |
+---------------+-------+
1 row in set (0.01 sec)

查了下官方是不建议这种复制,点击这里查看文档

CREATE TABLE … SELECT语句。 CREATE TABLE … SELECT对于基于语句的复制是不安全的。在使用基于行的复制时,该语句实际上被记录为两个单独的事件 - 一个用于创建表,另一个用于将源表中的行插入刚刚创建的新表中。当这个语句在一个事务中被执行时,这些事件在某些情况下可能会被接收到相同的事务标识符,这意味着包含插入事务的事务被从机跳过。因此,CREATE TABLE … SELECT在使用基于GTID的复制时不受支持。