Heim >Datenbank >MySQL-Tutorial >MySQL数据双向同步的实现

MySQL数据双向同步的实现

WBOY
WBOYOriginal
2016-06-07 17:20:581046Durchsuche

如果想做MySQL数据单向同步的话,可以看另一篇文章: http://www.linuxidc.com/Linux/2012-10/71594.htm 一.准备环境 Master:

如果想做MySQL数据单向同步的话,可以看另一篇文章:

一.准备环境 
 Master:
  Ip:192.168.211.128
  Mysql版本:5.0.77(可以通过命令mysqladmin -uroot -p123 version查看)
 Slave:
  Ip:192.168.211.131
      Mysql版本:5.0.77
二.设置同步
 设置master同步
  1. 修改my.cnf
  vi /etc/my.cnf
  添加内容如下:
 server-id=1 (mysql标示)
 log-bin=mysql-bin(开启log-bin二进制日志文件,默认存在/var/lib/mysql下日志文    件以mysql-bin为开头)
 binlog-do-db =backup(backup为需要同步的数据库名,如需同步多个数据库,可以另起行如binlog-do-db =backup1)
 # binlog-ignore-db=db_name (不进行同步日志的数据库,不需要的话注释掉)
 max-binlog-size=104857600(日志的大小,超出会自动生成一个新的)
 master-host=192.168.211.131(同步主机)
 master-user=backup(同步用户)
 master-password=123(同步用户密码)
 master-port=3306
 replicate-do-db=backup(同步数据库)

修改完后保存退出,,并重启mysql 如:service mysql restart (重启正常,表示配置没错误)
      2. 在作为master的mysql上建立一个账户专门用于slave来进行数据同步


        mysql>

        mysql>flush privileges;

 
        Mysql>create database backup;

      在slave上测试账户backup是否可以访问mster上的mysql:

      #mysql -u backup -p -h 192.168.211.128(输入密码123,可以访问说明设置正确)


  设置slave同步
    1. 修改my.cnf
    vi /etc/my.cnf
        添加内容如下:
      server-id= 2 (mysql标示,不能出现重复)
     
      log-bin=mysql-bin(开启log-bin二进制日志文件,默认存在/var/lib/mysql下日志文    件以mysql-bin为开头)

 binlog-do-db =backup(backup为需要同步的数据库名,如需同步多个数据库,可以另起行如binlog-do-db =backup1)

        max-binlog-size=104857600(日志的大小,超出会自动生成一个新的
   
        master-host=192.168.211.128 (同步Master的ip地址)

      master-user=backup (同步所需的账号)

      master-password=123 (同步账号的密码)

       master-port=3306 (mstart 中mysql的访问端口)

       replicate-do-db=backup (所需同步的数据库名)
     
      #replicate-ignore-db=mysql(不同步mysql库)
      #replicate-do-table=backup.stu (如果只需同步backup数据库中的stu表)

      #replicate-do-table=backup.teacher(如果只需同步backup数据库中的stu表)

      master-connect-retry=60 (主服务器宕机或连接丢失的情况下,从服务器线程重新尝试连接主服务器之前睡眠的秒数
       
      log-bin=mysql-bin (开启log-bin二进制日志文件)
      修改完后保存退出,并重启mysql 如:service mysql restart (重启正常,表示配置没错误)
    2. 在作为slave的mysql上建立用来同步的账户和库

        mysql> 

        mysql>flush privileges;

 
        Mysql>create database backup;

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn