我想知道gtid_executed和gtid_purged变量存储在数据库引擎中的位置。如果这些只是运行时变量,那么它们是如何初始化的呢?
发布于 2015-11-09 16:33:05
它们不是任何特定存储引擎的一部分。通过运行GTID变量可以看到:
SHOW GLOBAL VARIABLES LIKE 'gtid%';或
SELECT * FROM information_schema.global_variables
WHERE variable_name LIKE 'gtid%';在DB上运行RESET MASTER时,这些值将被删除。
MySQL文档说gtid
发出重置母版将此变量的全局值(而不是会话值)重置为空字符串。GTID在其他情况下不会从此集中移除,除非由于重置母版而清除该集。如果服务器关闭并删除所有二进制日志,则还将清除该集。
MySQL文档说gtid
发出重置母版将此变量的值重置为空字符串。
执行SQL语句时,gtid将使用GTID设置值进行更新。
MySQL文档说gtid
当服务器启动时,@@global.gtid_executed被初始化为以下两组的联合:
然后,在执行事务时将GTID添加到集合中。
只有当gtid为空时才能设置它。通常,您将在mysqldump的重新加载过程中设置此变量集,mysqldump的源代码启用了GTID。
https://dba.stackexchange.com/questions/120502
复制相似问题