一?问题描述
执行下面语句。
create table zz.ii_app_version select * from?ii.app_version;
报类似下面错误。
ERROR 1786 (HY000): CREATE TABLE ... SELECTis forbidden when @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1
二?根由分析
Mysql 5.7 版本,如果配置如下。
gtid_mode = ON
enforce_gtid_consistency = ON
就会报上面的错误。
三?问题分析
show variables like '%gtid_mode%';
show variables like '%enforce_gtid_consistency%';
阿里云查询结果如下。
四?解决方案
方案一 :修改配置,并重启 MYSQL。
gtid_mode = OFF
enforce_gtid_consistency = OFF
因为阿里云的数据库服务器不支持这种修改,所以这种方案针对阿里云数据库不适用。
方案二:改造升级脚本如下。
create table?zz.ii_app_version like ii.app_version;
insert into?zz.ii_app_version select * from ii.app_version;
?
|