mysql 5.5 Master Master Replication 数据库互相同步

本机 xkorey-pc,WIN7,另一台虚拟机server,xp。都是mysql 5.5.以下配置测试成功。可以互
相同步数据变更。


参考链接:

http://www.howtoforge.com/mysql_master_master_replication
http://blog.csdn.net/zzz_781111/article/details/18262611
https://www.digitalocean.com/community/tutorials/how-to-set-up-mysql-master-master-replication
http://www.rackspace.com/knowledge_center/article/mysql-master-master-replication
http://bbs.csdn.net/topics/380252598
http://dev.mysql.com/doc/refman/5.5/en/set-statement.html

配置:
--创建用户
create user 'sync_server'@'%' identified by 'admin';
--授权
grant replication slave on *.* to sync_server@'%' identified by 'admin';
--刷新
flush privileges;

create user 'sync_server'@'%' identified by 'admin';中的%代表任意IP的电脑。如果要限制IP则改成相应的IP或主机名即可。
修改my.ini 或my.cnf,在[mysqld] 后加入
log-bin
binlog-do-db=test(你要同步的数据库名称)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
server-id=1


重启mysql服务。配置master server 信息。
change master to master_host='server',master_user='sync_client',master_password='admin';


master_host='server' 这里的server是目标mysql服务器主机名也可以改成Ip地址。

此时这台master数据库配置信息已经ok,等待同步启动。

配置另外一台master库。
create user 'sync_client'@'%' identified by 'admin'
grant replication slave on *.* to sync_client@'%' identified by 'admin';
flush privileges;

配置 my.ini 或my.cnf,在[mysqld] 后加入

log-bin
binlog_format=row
binlog-do-db=test(你要同步的数据库名称)
binlog-ignore-db=mysql
server-id=2


重启mysql服务。配置master server信息。
change master to master_host='xkorey-pc' ,master_user='sync_server',master_password='admin'


master_host='xkorey-pc' 这里的xkorey-pc是目标mysql服务器主机名也可以改成Ip地址。

分别在2个mysql服务端执行
start slave;
show slave status\G;
--Above highlighted rows must be indicate related log files and  Slave_IO_Running and   Slave_SQL_Running: must be to YES.




往库中更改记录,就可以看效果了。

只同步某些表可以再my.ini中添加

log-bin
binlog_format=row
binlog-do-db=test(你要同步的数据库名称)
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
replicate-wild-do-table =test.abc
replicate-wild-do-table =test.country



建议在mysql command line shell下执行sql测试。



----------------------------------------------------------

其他

修改同步库:
首先
stop slave;
unlock tables;
flush logs;
--可选操作:删除mysql 数据库存放路径data下的master.info、relay-log.info文件



修改my.ini 或my.cnf。
重启mysql服务。
重新做验证:
stop slave;
change master to master_host='xkorey-pc' ,master_user='sync_server',master_password='admin'


要在2台mysql中分别执行。


然后可以

start slave;

猜你喜欢

转载自xkorey.iteye.com/blog/2116300