zoukankan      html  css  js  c++  java
  • 备份数据库中的某个表的数据报错Statement violates GTID consistency

     

    1、错误描述

    执行CREATE TABLE tig_pairs_20190521 AS SELECT *FROM tig_pairs报错:

    1 queries executed, 0 success, 1 errors, 0 warnings

    查询:call account_check_main('20180511')

    错误代码: 1786
    Statement violates GTID consistency: CREATE TABLE ... SELECT.

    执行耗时 : 0 sec
    传送时间 : 0 sec
    总耗时 : 0.066 sec
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    2、错误原因
    这是因为在5.6及以上的版本内,开启了 enforce_gtid_consistency=true 功能导致的,MySQL官方解释说当启用 enforce_gtid_consistency 功能的时候,MySQL只允许能够保障事务安全,并且能够被日志记录的SQL语句被执行,像create table … select 和 create temporarytable语句,以及同时更新事务表和非事务表的SQL语句或事务都不允许执行。

    3、解决方法
    方法一(推荐):
    修改 :SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = off;

    配置文件中 :ENFORCE_GTID_CONSISTENCY = off;

    方法二:
    create table xxx as select 的方式会拆分成两部分。

    create table xxxx like data_mgr;
    insert into xxxx select *from data_mgr;

  • 相关阅读:
    22.抽象类
    21.多态
    20.修饰符
    19.继承
    day46---MySQL数据库进阶(一)
    day45---mysql数据库基本操作初阶(二)
    day45---计算机安全项目(癞蛤蟆)
    day44---数据库初阶(一)
    day44---windows下安装MySQL-5.6.37
    day42---几种network IO模型
  • 原文地址:https://www.cnblogs.com/zhouj850/p/10898501.html
Copyright © 2011-2022 走看看