云自无心水自闲

天平山上白云泉,云自无心水自闲。何必奔冲山下去,更添波浪向人间!
posts - 288, comments - 524, trackbacks - 0, articles - 6
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

mysql数据复制

Posted on 2011-06-29 10:01 云自无心水自闲 阅读(679) 评论(0)  编辑  收藏 所属分类: MySQL
mysql数据复制的一个非常有用的选项。

大部分情况下,我使用两个mysql数据库双向复制。 结构大致如下: A <==> B
但是,现在有了新需要,要求在另一个机器上复制出生产环境的所有数据,但是这些数据的复制是单向,也就是说数据只会从生产环境复制到新的服务器上,而所有新数据库的数据变化不会复制到生产环境中。

新的结构大致如下: A <==> B --> C (新的服务器)
设置数据单向复制的步骤其实非常简单,只要在新的服务器(也就是slave端)指定master的
1,在服务器端B,先stop slave;
2, show master status, 记录文件名和position
3,backup the whole database
4,start slave
5, 在slave端,restore database
6, change master ....
到目前为止,看上去一切都进展顺利,但是马上我就发现slave端只有服务器B的数据。因为服务器B没有把从服务器A中复制过来的数据记录到日志中。
所以,slave C就无法得到此部分数据。
后来,经过网上搜索发现有一个选项 -log_slave_update,可以让服务器B记录此部分数据。
实践中,在服务器B中加入此选项后,机器C中就能够获得所有的数据。



只有注册用户登录后才能发表评论。


网站导航: