master-master结构就是两台主机都是对方的master,又都是对方的slave,而且各自又可以带有多个slave。实现了一定程度上的高可用。
结构如图
master-master结构的配置和master-slave的配置相差不大,需要在两个master中指定互为主从即可
master1配置:
log-bin=mysql-bin log-slave-updates server-id=1 master-host=192.168.189.129 master-port=3306 master-user=replication master-password=123456 replicate-do-db=test_slave replicate-do-db=test_slave1
master2配置
log-bin=mysql-bin log-slave-updates server-id=2 replicate-do-db=test_slave replicate-do-db=test_slave1 master-host=192.168.189.128 master-port=3306 master-user=replication master-password=123456
关键配置就是要设置log-slave-updates配置项为1,该配置的的作用在于,把从库的写操作写入到从库的binlog中。这样不管在maste1还是master2上进行读写操作,都会写入到binlog中,从而同步到对方库中。