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

mysql 表备份 遇到的问题 【全网最全】

目录

省流:

正文:

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;

相关文章:

mysql 表备份 遇到的问题 【全网最全】

目录 省流&#xff1a; 正文&#xff1a; 1、报错 2、原因 3、解决方法 方法一&#xff1a;关闭 ENFORCE_GTID_CONSISTENCY &#xff08;不推荐&#xff09;&#xff1a; 方法二&#xff08;推荐&#xff09;&#xff1a; 4、开启关闭GTID 省流&#xff1a; 不推荐如…...

11.添加侧边栏,并导入数据

修改CommonAside的代码&#xff1a; <template><div><el-menu default-active"1-4-1" class"el-menu-vertical-demo" open"handleOpen" close"handleClose":collapse"isCollapse"><!--<el-menu-it…...

ThinkPHP 通用的API格式封装

ThinkPHP 通用的API格式封装 1.创建status.php 用于设置通用的状态码返回枚举类2.将API返回格式统一封装3.重写BaseController中的__call方法4.在控制器下面新建Error控制器&#xff0c;然后添加__call方法 1.创建status.php 用于设置通用的状态码返回枚举类 <?phpreturn[…...

自己动手写数据库:实现一个小型 SQL 解释器(下)

本节我们完成 SQL 解释器的最后一部分&#xff0c;它涉及到数据的删除和更改&#xff0c;首先我们看删除语句的解析。我们先看 delete 对应的语法&#xff1a; Delete -> DELETE FROM ID (where Predicate)?从语法规则可以看出&#xff0c;delete 语句必须以关键字 DELETE…...

2023年信息安全管理与评估任务书模块一网络平台搭建与设备安全防护

全国职业院校技能大赛 高等职业教育组 信息安全管理与评估 任务书 模块一 网络平台搭建与设备安全防护 比赛时间 本阶段比赛时长为180分钟。 赛项信息 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 第一阶段 网络平台搭建与设备安全防护 任务1 网络平台搭建 9:00- 12:00 …...

JS -RSA 明文加密--用户密码加密

1 配置文件引入 加密包 package.json "jsencrypt": "^3.0.0-rc.1",2 加密公钥配置 import { JSEncrypt } from jsencrypt import request from "/utils/request";const RSA_PUBLIC_KEY "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJVol0cJ…...

clickhouse中replacingMergeTree

ReplacingMergeTree是在MergeTree上添加了去重的功能&#xff0c;但是这个功能不可控&#xff0c;合并是一个后台的操作&#xff0c;除非手动触发&#xff0c;不然无法控制&#xff0c;并且它会删除具有相同(区内)主键的重复项。 特点&#xff1a; 1&#xff0c;去重时机不定&a…...

pdf怎么转换成word?

随着数字化时代的到来&#xff0c;PDF(Portable Document Format)已成为最受欢迎的文档格式之一&#xff0c;因其在各种设备上的可视性和稳定性而备受推崇。然而在某些情况下&#xff0c;将PDF转换为Word文档可能是必要的&#xff0c;这使得编辑、修改和重新格式化文本变得更加…...

汇编攻城记-Cortex-M3指令集

类型 指令 全称 功能 内存访问 LDR Load register 加载字到寄存器 LDRB 加载字节到寄存器 LDRH 加载半字到寄存器 LDRSH 加载半字到寄存器&#xff0c;再带符号扩展到32位 LDRD 从连续的地址空间加载双字&#xff08;64位整数&#xff09;到…...

大语言模型之五 谷歌Gemini

近十年来谷歌引领着人工智能方向的发展&#xff0c;从TensorFlow到TPU再到Transformer&#xff0c;都是谷歌在引领着&#xff0c;然而&#xff0c;在大语言模型上&#xff0c;却被ChatGPT&#xff08;OpenAI&#xff09;抢了风头&#xff0c;并且知道GPT-4&#xff08;OpenAI&a…...

使用selenium实现对页面元素的抓取

一、背景介绍 工作中有个需求是需要对某个页面进行监控&#xff0c;但由于要监控页面数据是异步加载的&#xff0c;因此很难从状态码和返回结果层面进行校验。于是乎想到了通过判断页面元素是否存在且显示内容是否正确来达到此目标。调研了一下发现selenium可以实现对这种动态…...

大数据课程K12——Spark的MLlib概述

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的MLlib概念; ⚪ 掌握Spark的MLlib基本数据模型; ⚪ 掌握Spark的MLlib统计量基础; 一、Spark MLlib介绍 1. 概述 MLlib是Apache Spark的可迭代机器学习库。 2. 易于使用 …...

流程制造智能工厂总体架构及建设路线规划方案PPT

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除&#xff0c;更多浏览公众号&#xff1a;智慧方案文库 数字孪生智能制造(智改数转)数字化架构设计及应用..水泥智能工厂解决方案.pptx智慧制造规划设计解决方案.pptx智能工厂落…...

网络有源号角(50W-100W)社区小区广播 工地语音播报,隧道广播,钢铁广播广播系统

网络有源号角&#xff08;50W-100W&#xff09;社区小区广播 工地语音播报&#xff0c;隧道广播&#xff0c;钢铁广播广播系统 SV-7042T 50W网络有源号角 SV-7042T是深圳锐科达电子有限公司的一款壁挂式网络有源号角&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音…...

【Kali Linux高级渗透测试】深入剖析Kali Linux:高级渗透测试技术与实践

&#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐的一位博主。 &#x1f4d7;本文收录于恒川的日常汇报系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏C语言初阶、C…...

DHCP中继实验

文章目录 一、实验背景与目的二、实验拓扑三、实验需求四、实验解法1. 配置IP地址2.配置R1为DHCP服务器&#xff0c;能够跨网段为192.168.2.0/24网段自动分配IP地址3. 在PC3上Ping 192.168.1.1&#xff0c;确认可以Ping通 摘要&#xff1a; 本实验旨在通过配置DHCP中继实现跨网…...

C++进阶之多态

多态 多态的概念多态的定义及实现1.多态的构成条件2.虚函数3.虚函数的重写4.虚函数重写的两个例外5.C11 override 和 final6.重载、覆盖(重写)、隐藏(重定义)的对比 抽象类1.概念2.接口继承和实现继承 多态的原理1.虚函数表2.多态的原理3.动态绑定与静态绑定 单继承和多继承关系…...

QtCreator中三种不同编译版本 debug、release、profile 的区别

debug调试模式&#xff0c;编译后的可执行文件很大&#xff0c;带了很多调试符号信息等&#xff0c;方便开发阶段调试的时候进入具体的堆栈查看值。会打开所有的断言&#xff0c;运行阶段性能差速度慢&#xff0c;可能会有卡顿感觉。 release发布模式&#xff0c;编译后的可执…...

golang中map赋值

众所周知&#xff0c;golang中map是一个指针&#xff0c;既然是一个指针&#xff0c;那么参数传递、赋值应该都是指针传递&#xff0c;而下面的例子也印证了我的想法 package mainimport "fmt"func test_map2(m map[string]string) {fmt.Printf("inner: %v, %p…...

myspl使用指南

mysql数据库 使用命令行工具连接数据库 mysql -h -u 用户名 -p -u表示后面是用户名-p表示后面是密码-h表示后面是主机名&#xff0c;登录当前设备可省略。 如我们要登录本机用户名为root&#xff0c;密码为123456的账户&#xff1a; mysql -u root -p按回车&#xff0c;然后…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践

01技术背景与业务挑战 某短视频点播企业深耕国内用户市场&#xff0c;但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大&#xff0c;传统架构已较难满足当前企业发展的需求&#xff0c;企业面临着三重挑战&#xff1a; ① 业务&#xff1a;国内用户访问海外服…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践&#xff0c;很多人以为AI已经强大到不需要程序员了&#xff0c;其实不是&#xff0c;AI更加需要程序员&#xff0c;普通人…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看&#xff0c;后端SQL查询确实返回了数据&#xff0c;但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离&#xff0c;并且ai辅助开发的时候&#xff0c;很容易出现前后端变量名不一致情况&#xff0c;还不报错&#xff0c;只是单…...