数据库的模式中我开启了gtid:

mysql> show variables like '%gtid%';

+----------------------------------+-----------+

| Variable_name | Value |

+----------------------------------+-----------+

| binlog_gtid_simple_recovery | ON |

| enforce_gtid_consistency | ON |

| gtid_executed_compression_period | 1000 |

| gtid_mode | ON |

| gtid_next | AUTOMATIC |

| gtid_owned | |

| gtid_purged | |

| session_track_gtids | OFF |

+----------------------------------+-----------+

我现在数据库中有一world的库,并且在库中有一个country表,现在进行备份时会提示如下警告:

[root@smiletest data]# mysqldump -uroot -p -R -e --triggers --master-data=2 --single-transaction world country >/tmp/countryno.sql

Enter password:

Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.

我们来对比下加了 --set-gtid-purged=OFF和不加的区别

countryno.sql是没有加--set-gtid-purged=OFF

[root@smiletest data]# mysqldump -uroot -p -R -e --triggers --master-data=2 --single-transaction world country >/tmp/countryno.sql

countryyes.sql是加--set-gtid-purged=OFF

[root@smiletest data]# mysqldump -uroot -p -R -e --triggers --master-data=2 --single-transaction --set-gtid-purged=OFF world country >/tmp/countryyes.sql

Enter password:

没有加--set-gtid-purged=OFF的里面会多几条语句

SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;

SET @@SESSION.SQL_LOG_BIN= 0;

-- GTID state at the beginning of the backup

SET @@GLOBAL.GTID_PURGED='e024c334-8b64-11e9-80dc-fa163e4bfc29:1-761734';

现在我们进行导入刚没有加--set-gtid-purged=OFF备份的/tmp/countryno.sql语句

mysql> show master status;

+------------------+----------+--------------+------------------+-----------------------------------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-----------------------------------------------+

| mysql-bin.000013 | 85019 | | | e024c334-8b64-11e9-80dc-fa163e4bfc29:1-761735 |

+------------------+----------+--------------+------------------+-----------------------------------------------+

1 row in set (0.00 sec)

mysql> source /tmp/countryno.sql

Query OK, 0 rows affected (0.00 sec)

mysql> show master status;

+------------------+----------+--------------+------------------+-----------------------------------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-----------------------------------------------+

| mysql-bin.000013 | 85019 | | | e024c334-8b64-11e9-80dc-fa163e4bfc29:1-761735 |

+------------------+----------+--------------+------------------+-----------------------------------------------+

1 row in set (0.00 sec)

结论发现,gtid事务和 Position都没有增加

现在我们进行导入刚加--set-gtid-purged=OFF备份的/tmp/countryyes.sql语句

mysql> drop table country;

Query OK, 0 rows affected (0.01 sec)

mysql> show master status;

+------------------+----------+--------------+------------------+-----------------------------------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-----------------------------------------------+

| mysql-bin.000013 | 112669 | | | e024c334-8b64-11e9-80dc-fa163e4bfc29:1-761742 |

+------------------+----------+--------------+------------------+-----------------------------------------------+

1 row in set (0.00 sec)

mysql> source /tmp/countryyes.sql

Query OK, 0 rows affected (0.00 sec)

mysql> show master status;

+------------------+----------+--------------+------------------+-----------------------------------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |

+------------------+----------+--------------+------------------+-----------------------------------------------+

| mysql-bin.000013 | 139929 | | | e024c334-8b64-11e9-80dc-fa163e4bfc29:1-761747 |

+------------------+----------+--------------+------------------+-----------------------------------------------+

1 row in set (0.00 sec)

mysql>

结论发现,gtid事务和 Position都增加了

结论

加了--set-gtid-purged=OFF时,在会记录binlog日志,如果不加,不记录binlog日志,所以在我们做主从用了gtid时,用mysqldump备份时就要加--set-gtid-purged=OFF,否则你在主上导入恢复了数据,主没有了binlog日志,同步则不会被同步。

mysql开启gtid dump_mysqldump关于--set-gtid-purged=OFF的使用相关推荐

  1. mysql 开启gtid_MySQL 在线开启/关闭GTID

    环境介绍 Part1:写在最前 截止本文撰写当日,MySQL5.7.16是官网的最新稳定版,本文将用MySQL5.7.16来进行演示.从MySQL5.6开始,支持了GTID复制模式,这种模式其实是把双 ...

  2. mysql gtid 1236_MYSQL主从搭建GTID报错 error 1236 master has purged binary logs containing GTIDs?...

    主从的版本:5.7.25-28-log 现状: 将主库的全备(innobackupex)还原作为一个从库,还原的过程正常,在设置从库报错: Got fatal error 1236 from mast ...

  3. mysql 5.6 gtid mha_MySQL MHA--故障切换模式(GTID模式和非GTID模式)

    GTID和非GTID故障切换模式选择 MySQL 5.6版本引入GTID来解决主从切换时BINLOG位置点难定位的问题,MHA从0.56版本开始支持基于GTID的复制,在切换时可以采用GTID模式和非 ...

  4. mysql slave lock 跳过_处理 MySQL 因为 SLAVE 崩溃导致需要手动跳过 GTID 的问题 | 关于 GTID...

    今天发生了与之前某篇博客相似的问题,有同学在不同步的 binlog 库中使用语句 database.table 命令对表进行 drop 导致 master 丢弃该表但是从库并未能同步到该操作.并且后续 ...

  5. MySQL 8 复制(四)——GTID与复制

    目录 一.GTID简介 1. 什么是GTID 2. GTID的格式与存储 二.GTID生命周期 1. 典型事务的GTID生命周期 2. GTID分配 3. gtid_next系统变量 4. gtid_ ...

  6. mysql gtid 主从_基于GTID搭建主从MySQL

    基于gtid搭建主从MySQL 一.GTID的使用 想让主从之间使用gtid的方式同步数据,需要我们在配置文件中开启mysql对gtid相关的配置信息 找到my.cnf ,在mysqld模块中加入如下 ...

  7. MySQL主从复制之传统复制与GTID模式之间切换

    主从复制环境: 主库:192.168.0.100 从库:192.168.0.101 MySQL5.7.22 当前主从状态展示如下: 1 root@db 06:32: [(none)]> show ...

  8. mysql gtid寻找位置_【MySQL】UUID与GTID以及如何根据GTID找寻filename和position

    Open Group于1997年10月发布,UUID遵从此协议. UUID被设计成一个在空间和时间上的唯一值.两次调用的UUID将产生两个不同的值,即使这些调用是在两个不连接的,彼此独立的计算机. 由 ...

  9. 【MySQL】【翻译】 基于GTID追踪的自适应路由查询

    GTID consistent reads 基于GTID的一致性读 作者:René Cannaò ProxySQL的作者 翻译:张锐志 小记:原文的标题和部分段落都有些混乱,已经尽量按作者的想法意义. ...

  10. mysql gtid 同步_结合案例说说5.7使用gtid同步后,mysql.gtid_executed引起的从库gtid断层...

    结合案例说说5.7使用gtid同步后,mysql.gtid_executed引起的从库gtid断层,从库重复拉取主库数据,导致数据在从库被重复执行; mysql.gtid_executed,5.7.5 ...

最新文章

  1. 7kyu Exes and Ohs
  2. JAVA中Explain注解用法,mysql之explain详解(分析索引最佳使用)
  3. ubuntu16.04 + ros-kinetic 配置cartographer
  4. SQL Server 排序规则(摘)
  5. Java Swing –日期选择器对话框
  6. 通过编程解决问题的正确思路
  7. 项目管理工具strber
  8. php产品效果图,jQuery_基于JQuery制作的产品广告效果,效果图.如下: 动画效果介绍 - phpStudy...
  9. Lua 的table遍历 【转】
  10. mysql集群如何保障数据分布均匀_如何保证数据库集群时候,主从库一致性的问题?...
  11. 安装Spark集群(在CentOS上)
  12. Eclipse插件系列:spring插件配置
  13. appium_android-常见的问题
  14. Xshell5 破解
  15. 电厂计算机室建议,火力发电厂计算机室、控制室、电子设备间,应设排烟设施,机械排烟系统的排烟量可按房间换气次数每小时不小于( )次计算。...
  16. Chpater 5 大规模MIMO信道估计与导频设计
  17. 眨眼视频制作与生成活体视频生成
  18. 软件版本GA、RC、beta、Build 等含义
  19. 小红书数据平台:笔记爆文率提升的三大秘诀公式!
  20. home credit default risk(捷信违约风险)机器学习模型复现(论文_毕业设计_作业)

热门文章

  1. 个人黑名单 抄袭耻辱墙
  2. 还不懂你现在学习的编程语言能做什么?还不懂如何进阶?过来看图
  3. text 热敏打印机_只要有想象力,打印机都能做游戏
  4. 3500个常用汉字表_小学常用560个汉字笔画笔顺表,打印下来,小学六年慢慢练...
  5. 带圈汉字 在线生成_手写签名在线生成器-手写签名在线生成器可复制
  6. 一元二次方程求根公式的花样变换,你看懂了吗?
  7. 为什么手机最后 10% 的电量很不耐,最后1%的电量最耐用?
  8. github java开源项目经验_10月份Github上最热门的Java开源项目
  9. python求导函数的值_python怎么实现函数求导
  10. levedb 导入 mysql_LevelDB-初始篇