lixiaolong 发表于 2016-10-18 09:16:51

(转:未测试)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;
  
  

 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
页: [1]
查看完整版本: (转:未测试)MySQL 数据同步,主主设置(即互为主备)