关于在产品环境中使用 MySQL 5.6 GTIDs 的一些问答
2014-09-19 16:34
435 查看
Q:在master-master结构中GTID有什么优势?如果有, 它是如何做的?
Q:GTID可以应用到MySQL的ACTIVE ACTIVE MASTER MASTER结构上吗?
A:GTID不会改变MySQL数据复制的本质:比如在配置GTID之后,数据复制同样是异步的;如果向master-master结构上的两个
master写入数据,GTID同样没有写冲突检测机制.GTID的主要优势在于能够很容易的改变数据复制的拓补结构,当连接一个slave节点到新的
master节点时不再需要为了找到正确的binlog的位置而做一些复杂的计算.
在master-master数据复制的结构中可以配置GTID, 相对于基于位置的数据备份,GTID并不没有很多的优势,因为你不会改变数据备份的拓补结构.
GTID同样不推荐在两个master都可接受数据的结构中向两个master都写入数据.
Q:GTIDs在主机:备用主机上运行的好吗?失效备援有多快?
A:是的,GTIDs能够很好的处理这种类型的设置(一个主机一个备机)。GTIDs不提供失效备援,必须使用一个额外的工具才行。失效备援的速度取决于使用的工具。
Q:对于已经建立的MASTER-MASTER/MASTER-SLAVE复制,在GTID设置后,我们需要使用 AUTO POS=1重新建立复制,对吗?
A:是的,使用 MASTER_AUTO_POSITION=1 是需要指出将要使用GTID复制。所以必须运行:STOP SLAVE; CHANGE MASTER TO … MASTER_AUTO_POSITION = 1; START SLAVE;
Q: GTID是怎么处理那些应用的,这些应用拥有来自不同引擎(比如:InnoDB和MyISAM)的数据表?
A: 事务不能同时用于MyISAM和InnoDB表,请参照文档.
Q:在master-slave备份的拓补结构(GTID是可用的)中,如果master节点上的二进制日志被删除,并且使用AUTO_POSITION=1改变了master命令的情况下, slave节点是怎么从master节点上获取数据的?
A: 备份将被中断,并抛出1236错误.
Q: 在slave节点上有什么值表示该节点的数据滞后了?
A: 是用Seconds_Behind_Master表示的.虽然它不是非常可靠.比如你有一个这样的备份序列 A -> B -> C, 在C节点上的Seconds_Behind_Master表示的滞后是相对于B节点,而不是A节点.
Q: 如果我们设置slave为只读…是否建议删除错误事务?
[b]A: [/b]是的,建议删除。不过这不阻止用户使用SUPER权限在slave上意外写入。
Q:这些错误事务问题可以用 (active-passive) master-master复制阻止吗?
A:Master-master复制将确保任何事务写入一个服务将自动结束在另一个slave上写入。所以它就像在避免错误事务。不过不建议在两个master上写入,因为你会遇到写冲突。
Q:在MHA上使用GTID有什么实用的优势吗?
A:GTID不提供任何方法执行failover,他们只是简化你怎样重新配置复制。所以使用MHA利用GTID是有意义的。
Q: [b]GUID 和 GTID的区别是什么?什么时候我们必须使用GUID 和 GTID?[/b]
[b]A:[/b]我不确定我是否正确的理解了这个问题。GTID由源 id 和事务 id 组成。源 id 是master的server_uuid,是当MySQL首次启动时自动生成的 GUID。
Q:怎样检查slave数据库表和记录?我们必须从master到salve数据库同步数据还是自动进行?
A:你可以使用Percona工具包的 pt-table-checksum 和 pt-table-sync。
转自:http://www.oschina.net/translate/using-mysql-5-6-global-transaction-ids-gtids-in-production-qa
Q:GTID可以应用到MySQL的ACTIVE ACTIVE MASTER MASTER结构上吗?
A:GTID不会改变MySQL数据复制的本质:比如在配置GTID之后,数据复制同样是异步的;如果向master-master结构上的两个
master写入数据,GTID同样没有写冲突检测机制.GTID的主要优势在于能够很容易的改变数据复制的拓补结构,当连接一个slave节点到新的
master节点时不再需要为了找到正确的binlog的位置而做一些复杂的计算.
在master-master数据复制的结构中可以配置GTID, 相对于基于位置的数据备份,GTID并不没有很多的优势,因为你不会改变数据备份的拓补结构.
GTID同样不推荐在两个master都可接受数据的结构中向两个master都写入数据.
Q:GTIDs在主机:备用主机上运行的好吗?失效备援有多快?
A:是的,GTIDs能够很好的处理这种类型的设置(一个主机一个备机)。GTIDs不提供失效备援,必须使用一个额外的工具才行。失效备援的速度取决于使用的工具。
Q:对于已经建立的MASTER-MASTER/MASTER-SLAVE复制,在GTID设置后,我们需要使用 AUTO POS=1重新建立复制,对吗?
A:是的,使用 MASTER_AUTO_POSITION=1 是需要指出将要使用GTID复制。所以必须运行:STOP SLAVE; CHANGE MASTER TO … MASTER_AUTO_POSITION = 1; START SLAVE;
Q: GTID是怎么处理那些应用的,这些应用拥有来自不同引擎(比如:InnoDB和MyISAM)的数据表?
A: 事务不能同时用于MyISAM和InnoDB表,请参照文档.
Q:在master-slave备份的拓补结构(GTID是可用的)中,如果master节点上的二进制日志被删除,并且使用AUTO_POSITION=1改变了master命令的情况下, slave节点是怎么从master节点上获取数据的?
A: 备份将被中断,并抛出1236错误.
Q: 在slave节点上有什么值表示该节点的数据滞后了?
A: 是用Seconds_Behind_Master表示的.虽然它不是非常可靠.比如你有一个这样的备份序列 A -> B -> C, 在C节点上的Seconds_Behind_Master表示的滞后是相对于B节点,而不是A节点.
Q: 如果我们设置slave为只读…是否建议删除错误事务?
[b]A: [/b]是的,建议删除。不过这不阻止用户使用SUPER权限在slave上意外写入。
Q:这些错误事务问题可以用 (active-passive) master-master复制阻止吗?
A:Master-master复制将确保任何事务写入一个服务将自动结束在另一个slave上写入。所以它就像在避免错误事务。不过不建议在两个master上写入,因为你会遇到写冲突。
Q:在MHA上使用GTID有什么实用的优势吗?
A:GTID不提供任何方法执行failover,他们只是简化你怎样重新配置复制。所以使用MHA利用GTID是有意义的。
Q: [b]GUID 和 GTID的区别是什么?什么时候我们必须使用GUID 和 GTID?[/b]
[b]A:[/b]我不确定我是否正确的理解了这个问题。GTID由源 id 和事务 id 组成。源 id 是master的server_uuid,是当MySQL首次启动时自动生成的 GUID。
Q:怎样检查slave数据库表和记录?我们必须从master到salve数据库同步数据还是自动进行?
A:你可以使用Percona工具包的 pt-table-checksum 和 pt-table-sync。
转自:http://www.oschina.net/translate/using-mysql-5-6-global-transaction-ids-gtids-in-production-qa
相关文章推荐
- 关于NandFlash在实际产品使用上的一些经验
- 关于c++下使用mysql的一些问题
- 关于docker环境下mysql的使用相关
- 关于centOS7下使用rpm方式安装mysql5.6过程说明
- 关于NandFlash在实际产品使用上的一些经验
- 关于Mysql5.6中使用group_concat()函数返回的数据总数不完整的坑
- centos6.5下使用yum完美搭建LNMP环境(php5.6,mysql5.5,nginx1.10)
- WiKi上关于USRP使用的一些问答(一)
- MySQL中关于临时表的一些基本使用方法
- 关于在.net环境下通过使用LDAP来访问AD,LDAPServer的一些问题?
- 使用Spring+MySql实现读写分离(一)关于windows下安装mysql5.6
- 关于MySQLdb的一些新发现(使用python连接mysql的库)
- WiKi上关于USRP使用的一些问答(二)
- 关于使用Qt,MySQL的一些Mark
- centos环境下使用percona-xtrabackup对mysql5.6数据库innodb和myisam进行快速备份及恢复
- linux环境下mysql5.6的安装、配置、使用及常见问题解决办法
- 关于golang使用mysql以及docker的一些坑
- 关于Linux环境下使用Basler GigE相机的一些问题
- 关于mysql 5.6使用 mysqldump备份数据库!
- 关于mysql5.6的一些设置