相同步数据变更。
参考链接:
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;