gtid环境下mysqldump对于set-gtid-purged的取值
gtid环境备份的时候,还在为set-gtid-purged=0|1的选择而烦恼吗,一起来分析一下。
[mysql@lxd-vm1@/home/mysql]$ mysqldump --help | grep 'set-gtid-purged' -A
--set-gtid-purged[=name]
Add 'SET @@GLOBAL.GTID_PURGED' to the output. Possible
values for this option are ON, OFF and AUTO. If ON is
used and GTIDs are not enabled on the server, an error is
generated. If OFF is used, this option does nothing. If
AUTO is used and GTIDs are enabled on the server, 'SET
@@GLOBAL.GTID_PURGED' is added to the output. If GTIDs
are disabled, AUTO does nothing. If no value is supplied
then the default (AUTO) value will be considered.
从命令提供的注释中可以看出,其实该参数有3种取值:
控制是否在备份文件中添加SET @@GLOBAL.GTID_PURGED语句。
1. set-gtid-purged=0|off 不添加。
2. set-gtid-purged=1|on 如果gtid没有开启,则报错;如果开启gtid,则添加。
3. 如果没有提供set-gtid-purged,默认是auto,如果gtid没有开启,不添加;如果开启gtid,则添加。
mysqldump -h5.5.5. -uroot -proot --single-transaction --set-gtid-purged=off lxddb t1 > lxddb_t1.sql
[mysql@lxd-vm1@/home/mysql]$ egrep -v '^$|^--|^/' lxddb_t1.sql
DROP TABLE IF EXISTS `t1`;
CREATE TABLE `t1` (
`i1` int() NOT NULL DEFAULT '',
`i2` int() NOT NULL DEFAULT '',
`d` date DEFAULT NULL,
PRIMARY KEY (`i1`,`i2`),
KEY `k_d` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
LOCK TABLES `t1` WRITE;
INSERT INTO `t1` VALUES (,,'1998-01-01'),(,,'1999-01-01'),(,,'2000-01-01'),(,,'2001-01-01'),(,,'2002-01-01');
UNLOCK TABLES;
[mysql@lxd-vm1@/home/mysql]$
mysqldump -h5.5.5. -uroot -proot --single-transaction --set-gtid-purged=on lxddb t1 > lxddb_t1.sql
[mysql@lxd-vm1@/home/mysql]$ egrep -v '^$|^--|^/' lxddb_t1.sql
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= ;
SET @@GLOBAL.GTID_PURGED='84e06268-dfa5-11e7-b0bc-080027a59108:1-2';
DROP TABLE IF EXISTS `t1`;
CREATE TABLE `t1` (
`i1` int() NOT NULL DEFAULT '',
`i2` int() NOT NULL DEFAULT '',
`d` date DEFAULT NULL,
PRIMARY KEY (`i1`,`i2`),
KEY `k_d` (`d`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
LOCK TABLES `t1` WRITE;
INSERT INTO `t1` VALUES (,,'1998-01-01'),(,,'1999-01-01'),(,,'2000-01-01'),(,,'2001-01-01'),(,,'2002-01-01');
UNLOCK TABLES;
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
[mysql@lxd-vm1@/home/mysql]$
结论:
我们备份,就是可能需要拿来进行恢复,是在master上恢复,还是slave上恢复。
如果是在master上进行恢复,那么就需要生成对应的gtid,所以需要使用set-gtid-purged=off
如果是在slave上进行恢复,那么不需要生成对应的gtid,所以需要使用set-gtid-purged=on
gtid环境下mysqldump对于set-gtid-purged的取值的更多相关文章
- C++下基本类型所占位数和取值范围
原文:http://hi.baidu.com/magicdemon/blog/item/821b2e22d7df494cad34debd.html C++下基本类型所占位数和取值范围: 符号属性 ...
- jquery操作select下拉框的多种方法(选中,取值,赋值等)
Query获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); //为Sel ...
- react 在IE9下input标签使用e.target.value取值失败
在react项目开发中,input标签使用onChange方法获取输入值改变state: <input type="text" id="redeemNum" ...
- CentOS下Yum的$releasever和$basearch的取值
CentOS下Yum源配置文件中如CentOS-Base.repo的$releasever和$basearch的取值 $releasever的值,这个表示当前系统的发行版本,可以通过如下命令查看: r ...
- MySQL5.7(5.6)GTID环境下恢复从库思(qi)路(yin)方(ji)法(qiao)
要讨论如何恢复从库,我们得先来了解如下一些概念: GTID_EXECUTED:它是一组包含已经记录在二进制日志文件中的事务集合 GTID_PURGED:它是一组包含已经从二进制日志删除掉的事务集合 ...
- MySQL5.7(5.6)GTID环境下恢复从库思路方法(转发)
要讨论如何恢复从库,我们得先来了解如下一些概念: GTID_EXECUTED:它是一组包含已经记录在二进制日志文件中的事务集合 GTID_PURGED:它是一组包含已经从二进制日志删除掉的事务集合. ...
- mysql 在gtid环境下缺少一部分binlog部署从库
我的环境: 有两台linux服务器 一台是192.168.1.1 mysql 端口3301 一台是192.168.1.2 mysql 端口3303 要讨论如何恢复从库,我们得先来了解如下一些概 ...
- angular select2 下拉单选和多选的取值赋值
官网:http://select2.github.io/examples.html 兼容性: 引入文件 /select2.min.js /select2.min.css html <select ...
- (转载)linux下Yum的$releasever和$basearch的取值
https://blog.csdn.net/whatday/article/details/51097456
随机推荐
- CCS过渡和动画
过渡 过渡能让使用过渡的元素在样式发生变化时(例如鼠标划过,单击按钮,点击图片时,颜色,尺寸,位置等样式发生变化),定义变化过程中的动画,让变化不再是瞬间产生. 过渡样式使用transition定义, ...
- 远程连接Linux下mysql报10061
最近接到一个新活,四台Linux服务器配置MySQL热机双备+IP隧道LVS集群服务,尽管好想使个眼神杀死老大,但特么心里是感激的.不多说一口气装了n个Ubuntu-server. 每次在虚拟机装完M ...
- 百度大脑EasyEdge端模型生成部署攻略
EasyEdge是百度基于Paddle Mobile研发的端计算模型生成平台,能够帮助深度学习开发者将自建模型快速部署到设备端.只需上传模型,最快2分种即可生成端计算模型并获取SDK.本文介绍Easy ...
- Python——20200220Python123冲刺试卷 - 1
知识点:面向对象继承,数组组织,文件操作,数据类型 1.面向对象的继承:继承是指类之间共享属性和操作的性质 2.软件危机的原因不包括:软件成本不断提高 软件危机原因: 软件开发生产率低.软件过程不规范 ...
- python学习---文件修改
1.读一行,写一行,判断字符串,修改之. f=open("yesterday2","r",encoding="utf-8") f_new=o ...
- JS中函数的本质,定义、调用,以及函数的参数和返回值
要用面向对象的方式去编程,而不要用面向过程的方式去编程 对象是各种类型的数据的集合,可以是数字.字符串.数组.函数.对象…… 对象中的内容以键值对方式进行存储 对象要赋值给一个变量 var cat={ ...
- springboot容器加载完毕执行某一个方法
问题: 最近做项目(项目使用的是springboot)的时候,数据库有一个配置参数表,每次都要查询数据库去做数据转换,这样每次查询数据库感觉不太友好,后来写了一个方法项目启动完成后立即执行此方法,将配 ...
- 剑指offer-面试题59_1-滑动窗口的最大值-数组
/* 题目: 链接:https://www.nowcoder.com/questionTerminal/1624bc35a45c42c0bc17d17fa0cba788 来源:牛客网 给定一个数组和滑 ...
- echarts--可拖动的曲线图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MySQL 8 在一台机器上运行多个MySQL实例
可以为每个实例使用一个MySQL Server二进制程序,也可以为不同实例使用同一个MySQL Server二进制程序. 不管哪一种选择,部分参数可能需要不同配置,以避免多个实例之间的冲突. 可能需要 ...