MySQL复制之时区问题

WBOY
发布: 2016-06-07 17:28:29
原创
926 人浏览过

今天接到一需求,说要在国际间为MySQL建立复制。这其实没什么的,网络环境再差,MySQL也是可以应对的。但偏偏出现时区问题的错误

今天接到一需求,说要在国际间为MySQL建立复制。这其实没什么的,网络环境再差,MySQL也是可以应对的。但偏偏出现时区问题的错误!

错误如下:

[Warning] Slave I/O: Get master clock failed with error: Lost connection to MySQL server during query, Error_code: 2

[Warning] Slave I/O: Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again, log '1.000001' at position 48920, Error_code: 1597

slave 无法获得master的clock,MySQL  time_zone 变量默认等于=SYSTEM 即采用系统的时区。修改时区方式:set global time_zone='+00:00' 或者 set global time_zone='-11:00';单纯的修改DB的时区,可以能会造成本地程序混乱,,最终决定修改系统的时区。这个问题交给了我们的运维(crontab的时区也要搞定),后来重启DB搞定

在这里简单总结下建立复制注意事项:

1、server_id 要唯一

2、binlog 和 relay_log 名字要自定义。不能采用 hostname.log(采用修改系统hostname时可能造成数据库无法启动)

3、数据库时区要一致

4、对专门复制用的用户 要在master和slave上同时建立账号(方便故障切换,为以后自动化做准备)

5、对于在slave端进行数据库过滤的时候,建议使用:replicate__wild_do_table(这样对于statement 模式的复制 不用考虑是否使用use 语句的影响。可参考:

linux

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板