MySQL主主复制结构区别于主从复制结构。在主主复制结构中,两台服务器的任何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器互为主从,并且都能向外提供服务。
有了上一节的主从复制,那么主主复制就很容易了。
一、先修改配置文件
服务器A(192.168.1.254)配置如下
1 2 3 4 5 6 7 8 |
log-bin = mysql-bin server-id = 1 expire-logs-days = 100 replicate-do-db = test binlog-ignore-db = mysql binlog-ignore-db = information_schema auto-increment-increment = 2 auto-increment-offset = 1 |
服务器B(192.168.1.252)配置
1 2 3 4 5 6 7 8 |
log-bin = mysql-bin server-id = 2 expire-logs-days = 100 replicate-do-db = test binlog-ignore-db = mysql binlog-ignore-db = information_schema auto-increment-increment = 2 auto-increment-offset = 2 |
两台服务器都重启
1 |
mysql> service mysqld restart |
注:二都只有server-id不同和 auto-increment- offset不同
auto-increment-offset是用来设定数据库中自动增长的起点的,回为这两能服务器都设定了一次自动增长值2,所以它们的起点必须得不同,这样才能避免两台服务器数据同步时出现主键冲突
replicate-do-db 指定同步的数据库,我们只在两台服务器间同步test数据库
另:auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两台服务器,所以值设为2
二、同步数据
本文是用test做的实验,导出将test.sql文件从254服务器拷贝到252服务器
备份数据前先锁表,保证数据一致性 继续阅读