半年之前我有幸参加了MySQL2010用户大会,Oracle/Sun在会上公布了MySQL5.5的新特性,这次MySQL5.5改进的地方非常之多,当中引入的Google patch for MySQL中的半同步Semi-synchronous Replication,一个可用于高可用解决方案的新特性。谭俊青@MySQL实验室
MySQL5.5的在复制/同步方面的改进:
- 保证主从服务器上数据的一致性(同步)
- 能立检测到复制的异常
- Crashed Salve能自动从错误中恢复同步
- 在环形复制中用户能够指定跳过某实例事件
- 主从复制中能自动适应字段类型的转换
MySQL半同步复制(semi-synchronous replication)
复制心跳(用户检测复制是否中断)
MySQL5.5提供的新的配置master_heartbeat_period,能够在复制停止工作和出现网络中断的时候帮助我们迅速发现问题。
启用方法:
STOP SLAVE;
CHANGE MASTER TO master_heartbeat_period= milliseconds;
START SLAVE;
Slave自动恢复同步
在MySQL5.5版本之前,MySQL Slave实例在异常终止服务之后,可能导致复制中断,并且relay binlog可能损坏,在MySQL再次启动之后并不能正常恢复复制。在MySQL5.5中这一问题得到了解决,MySQL可以自行丢弃顺坏的而未处理的数据,重新从master上获取源数据,进而回复复制。
跳过指定复制事件
在多Master或环形复制的情况下,处于复制链条中间的服务器异常,可以通过
CHANGE MASTER TO MASTER_HOST=xxx IGNORE_SERVER_IDS=y
跳过出问题的MySQL实例。
自动转换字段类型
MySQL5.1在基于语句的复制下,支持部分的字段转换,但是行级的会报错。MySQL5.5语句和行级复制都已支持。还可以通过 SLAVE_TYPE_CONVERSIONS 控制转换的方向。
© 谭俊青 发布在 MySQL性能、MySQL Cluster集群、MySQL HA高可用等研究 – MySQL实验室, 2010.
可以任意转载, 但转载时务必以超链接形式标明文章原始出处 和 作者信息。
链接: http://www.mysqlab.net/blog/2010/12/mysql5-5-replication-new-future/
标签: MySQL HA, MySQL Replication, MySQL5.5
转载请注明:爱开源 » MySQL5.5复制/同步的新特性及改进