当前位置: 首页 > news >正文

做网站是什么世界工厂采购网app

做网站是什么,世界工厂采购网app,网站建设银行转账,电脑版网站建设目录 省流: 正文: 1、报错 2、原因 3、解决方法 方法一:关闭 ENFORCE_GTID_CONSISTENCY (不推荐): 方法二(推荐): 4、开启关闭GTID 省流: 不推荐如…

目录

省流:

正文:

1、报错

2、原因

3、解决方法  

方法一:关闭 ENFORCE_GTID_CONSISTENCY (不推荐):

方法二(推荐):

4、开启关闭GTID


省流:

不推荐如下写法:

create table ...  as select * from ...;
create table t1_old  as select * from t1;

推荐: 

-- 分成两步来写
create table t1_old like t1;
insert into t1_old select * from t1;

正文:

1、报错

在执行sql:create table 表A  as select * from 表B时,报错:

Statement violates GTID consistency: CREATE TABLE ... SELECT.

2、原因

MySQL5.7.6版本之后, enforce_gtid_consistency=true 功能导致,MySQL只允许能够保障事务安全并且能够被日志记录的SQL语句被执行,像create table … select 和 create temporarytable语句,以及同时更新事务表和非事务表的SQL语句或事务都不允许执行。

3、解决方法  


方法一:关闭 ENFORCE_GTID_CONSISTENCY (不推荐):

这个方法是网上很多文章介绍的方法。但如果是用来备份表,不推荐此方法,因为会遇到很多和事务有关问题。 详情见下面的参考文章。

我自己遇到的问题是:master主库备份,但slave从库没有备份数据(只是一张空表)。导致服务查询数据的时候查不到。

SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'OFF';

直接执行上面这条命令可能会报错:

GTID_MODE = ON requires ENFORCE_GTID_CONSISTENCY = ON.

意思是说要先关闭 GTID_MODE,再关闭 ENFORCE_GTID_CONSISTENCY。

SET GLOBAL GTID_MODE = 'OFF';

但是直接关闭GTID_MODE会报错:

The value of @@GLOBAL.GTID_MODE can only be changed one step at a time: 
OFF <-> OFF_PERMISSIVE <-> ON_PERMISSIVE <-> ON. 
Also note that this value must be stepped up or down simultaneously on all servers. 
See the Manual for instructions.

这意思是说,不能直接设置OFF,要如下执行

SET GLOBAL GTID_MODE = 'ON_PERMISSIVE';
SET GLOBAL GTID_MODE = 'OFF_PERMISSIVE';
SET GLOBAL GTID_MODE = 'OFF';

这样就关闭了 GTID_MODE,然后再关闭 ENFORCE_GTID_CONSISTENCY。

SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'OFF';


详情见 4、开启关闭GTID

方法二(推荐):

将创建表和复制数据分成两步执行:

create table t1_old like t1;
insert into t1_old select * from t1;

4、开启关闭GTID

(1)必须是5.7.6版本以上的mysql

(2)GTID状态为OFF

2、开启步骤:

(1):SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'WARN';

(2):SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'ON';

(3):SET GLOBAL GTID_MODE = 'OFF_PERMISSIVE';

(4):SET GLOBAL GTID_MODE = 'ON_PERMISSIVE';

(5):SET GLOBAL GTID_MODE = 'ON';

 3、要永久启用,在my.cnf配置文件中添加参数:

gtid-mode=ON

enforce-gtid-consistency

在线关闭步骤:

1、要求:

(1)必须是5.7.6版本以上的mysql

(2)GTID状态为OFF

2、关闭步骤:

(1):stop slave;

(2):SET GLOBAL GTID_MODE = 'ON_PERMISSIVE';

(3):SET GLOBAL GTID_MODE = 'OFF_PERMISSIVE';

(4):SET GLOBAL GTID_MODE = 'OFF';

注:

每次开启和关闭时,都是这样一个过程:

打开-->过度模式-->完全打开

停止-->过度模式-->完全关闭

参考:

为什么要避免使用“CREATE TABLE AS SELECT”语句

mysql在线开启或禁用GTID模式

技术分享 | MySQL 在线开启 GTID 的每个阶段是要做什么 - 知乎

=======================分割线========================= 

文章到此已经结束,以下是紫薯布丁

SET GLOBAL GTID_MODE = 'ON_PERMISSIVE';
SET GLOBAL GTID_MODE = 'OFF_PERMISSIVE';
SET GLOBAL GTID_MODE = 'OFF';

SET GLOBAL ENFORCE_GTID_CONSISTENCY = 'OFF';

The value of @@GLOBAL.GTID_MODE can only be changed one step at a time: 
OFF <-> OFF_PERMISSIVE <-> ON_PERMISSIVE <-> ON. 
Also note that this value must be stepped up or down simultaneously on all servers. 
See the Manual for instructions.

GTID_MODE = ON requires ENFORCE_GTID_CONSISTENCY = ON.

-- 分成两步来写
create table t1_old like t1;
insert into t1_old select * from t1;

create table ...  as select * from ...;
create table t1_old  as select * from t1;

http://www.yayakq.cn/news/71840/

相关文章:

  • 成都微网站廊坊兼职网站建设
  • 法学院网站建设建议手机端网站外部链接如何去优化
  • 网站首页收录突然没有了贵阳市城乡建设厅网站
  • 高端的响应式网站建设公司太原seo快速排名怎么样
  • 电脑怎样做轰炸网站绵阳高端网站建设
  • 江阴市建设局网站管理通道自适应型网站建设哪家好
  • linux做网站好微分销商城网站建设
  • 域名暂无法进行网站备案wordpress文章登录可见
  • 网站的服务器是什么客户问 你们网站怎么做的
  • 阜阳北京网站建设西安本地十家做网站建设的公司
  • 做哪种网站赚钱wordpress 显示子菜单
  • 云之创网站建设最佳的资源磁力搜索引擎
  • 平面设计最常用的网站asp网站代码
  • 秦皇岛做网站的公司山东专业网站建设公司
  • 金融网站模板源代码crm系统的销售管理功能包括
  • 微网站成功案例用wordpress搭建网站
  • 网站制作的必备技巧有哪些wordpress玻璃质感主题
  • 设计网站的意义如何找外包网站来做
  • 做智能网站系统下载软件wordpress 加内链
  • 门户网站建设意义全国网站建设公司
  • 关于做教育新闻的网站wordpress自定义用户字段
  • 厦门市建设工程质量安全协会网站山西住房和建设厅网站
  • 成都网站设计推荐柚米网站闭站保护
  • 免费标志在线设计生成seo优化一般包括哪些内容
  • 广州高端网站制作公司西安网页设计公司推荐
  • 道滘做网站代理ip提取网站源码
  • 微商城手机网站设计公司影视广告制作报价单
  • 如何做分销型网站wordpress使用有字库
  • 网站建设 海口青浦专业网站建设
  • 有没有专门做教程的网站做盗版网站吗