我有一个sql脚本,其中包含语句create tbl2 as select * from tbl;。
此语句适用于版本5.7 (目前为5.7.19)的坞客mysql,即使启用了enforce一致性。来自船坞的相关线路包括:
image: mysql:5.7
command: --gtid-mode=ON --enforce-gtid-consistency=true尽管文件明确规定:
由于只有在启用--增强-gtid-一致性时,才能记录事务安全语句,因此此处列出的操作不能与此选项一起使用: 创建桌子..。选择语句
对于google实例上的ERROR 1786 (HY000): Statement violates GTID consistency: CREATE TABLE ... SELECT.,同样的语句失败了。
show variables like '%gtid%'在docker和google实例上返回相同的结果( enforce_gtid_consistency在这两个实例中都是打开的)。
发布于 2018-03-09 17:19:44
您看到的失败的主要原因是容器数据库中的log为NULL,尽管gtid_mode为on,enforce_gtid_consistency为on。因此,您必须运行具有log集的容器,另外设置此设置还需要设置服务器id。下面是运行容器的一个示例,您应该可以在其中复制错误--“error 1786 (HY000):语句违反GTID一致性: CREATE TABLE . SELECT”。
docker运行-d --名称=my-mysql --env="MYSQL_ROOT_PASSWORD=rootpassword123“--发布3306:3306 -卷=/u 01/mysql:/var/lib/ mysql/mysql-server:5.7.20 -gtid_mode=ON-env_gtid_consistency=ON-log-bin=mysql-bin-主信息存储库=表-中继-log-info-存储库=表-server-id=1
欢呼声拉杰
https://stackoverflow.com/questions/47408361
复制相似问题