MySQL Gtid_executed和Gtid_purged修改时机

背景

对于GTID复制,如果存在多个机器的GTID的时候,说明这个机器之前是很多机器的
从库,但是GTID没有清理,之前对GTID的一些变量知道含义,但是具体的修改时机,
以及执行的命令会有什么作用没有理解。
先介绍一下变量:
Gtid_executed:当前机器已经执行过的GTID事务号。
Gtid_purged:当前机器已经清理的GTID号。
理解起来很简单,但是操作起来就比较容易不理解了。
比如这两个变量可以直接修改吗,reset master会有什么影响吗?
带着这些问题我做了一些测试。

测试过程

测速修改Gtid_purged的值

MySQL Gtid_executed和Gtid_purged修改时机
可以看到,修改成功了,而且旧的值必须是新的的子集。同时也将gtid_executed的值修改掉了。

测试修改gtid_executed

MySQL Gtid_executed和Gtid_purged修改时机
这里测试发现是只读的,不能手动修改。

测试reset master的作用

MySQL Gtid_executed和Gtid_purged修改时机
可以看到都被清空了。

总结

  1. set gtid_purged= ?会把gtid_purged 和gtid_executed都改成?号的值.
  2. set gtid_executed=?会报错,因为gtid_executed不能被修改.
  3. reset masetr 会把gtid_executed gtid_purged 全部清空.
上一篇:c语言(冒泡排序函数封装)


下一篇:mysqldump关于--set-gtid-purged=OFF的使用