(转:未测试)MySQL 数据同步,主主设置(即互为主备)



 两台Mysql主机做为服务器:

master-1:192.168.220.128

master-2:192.168.220.131

一、创建并授权用户

在 master-1上:

创建一个允许master-2来访问的用户 user

grant replication slave ON *.* TO 'user'@'192.168.220.131' Identified by 'pass';

在 master-2上:

创建一个允许 master-1 来访问的用户 user

grant replication slave ON *.* TO 'user'@'192.168.220.128' Identified by 'pass';

备注:为了操作方便,我们在两台服务器上,指定用户名及密码均为一致

二、修改主配置文件

在 mysql的主配置文件中修改 /etc/my.cnf 添加如下内容:

master-1 上:

Server-id = 1

log-bin=mysql-bin

Replicate-do-db=test

auto-increment-increment=2

auto-increment-offset=1

server-id=2

log-bin=mysql-bin

Master-2上:

Server-id=2

log-bin=mysql-bin

Replicate-do-db=test

auto-increment-increment = 2

auto-increment-offset=2

server-id=1

log-bin=mysql-bin

注:二都只有 Server-id 不同和 auto-increment-offset不同

auto-increment-offset 是用来设定数据库中自动增长的起点的,为这两台服务器都设定了一次自动增长值2,所以他们的起点必须得不同,这样才能避免两台服务器同步时出现主键冲突。

另:auto-increment-increment 控制列中的值的增量值.

三、获取两台服务器的二进制日志名和偏移量

 



 

 四、两台服务器互相做相应的设置

 

 五、启动 slave 线程

在两台主机上分别执行

mysql> START SLAVE;



 

猜你喜欢

转载自hwzyyx.iteye.com/blog/2088312