我想实现这样一种同步,比如说三台机器,其中两台机器上的数据库同步到第三台机器的数据库上。不管哪位大侠,谢谢了!!!

解决方案 »

  1.   

    参考下以下研究:
    假定有三台Mysql服务器,他们的IP地址分别为:
    192.168.1.8
    192.168.1.88
    192.168.1.188
    在192.168.1.8的安装目录下找到my.ini文件,在该文件的最后加上:
    server-id=1
    log-bin
    #asyntest1是我用来试验的数据库名称,到时候要换成你的数据库名字
    binlog-do-db=asyntest1
    #下面这句话很重要,只有加上它,从前一台机器上同步过来的数据才能同步到下一台机器
    log-slave-updates
    master-host=192.168.1.188
    master-user=root 
    #在此处填入192.168.1.188的root密码
    master-password=XXXXX
    #asyntest1是我用来试验的数据库名称,到时候要换成你的数据库名字
    replicate-do-db=asyntest1
    master-connect-retry=10
    #出现错误后忽略,如果不加这个,出现任何错误,同步进程会终止
    slave-skip-errors=all在192.168.1.88的安装目录下找到my.ini文件,在该文件的最后加上:
    server-id=2
    log-bin
    #asyntest1是我用来试验的数据库名称,到时候要换成你的数据库名字
    binlog-do-db=asyntest1
    #下面这句话很重要,只有加上它,从前一台机器上同步过来的数据才能同步到下一台机器
    log-slave-updates
    master-host=192.168.1.8
    master-user=root 
    #在此处填入192.168.1.8的root密码
    master-password=XXXXX
    #asyntest1是我用来试验的数据库名称,到时候要换成你的数据库名字
    replicate-do-db=asyntest1
    master-connect-retry=10
    #出现错误后忽略,如果不加这个,出现任何错误,同步进程会终止
    slave-skip-errors=all
    在192.168.1.188的安装目录下找到my.ini文件,在该文件的最后加上:
    server-id=3
    log-bin
    #asyntest1是我用来试验的数据库名称,到时候要换成你的数据库名字
    binlog-do-db=asyntest1
    #下面这句话很重要,只有加上它,从前一台机器上同步过来的数据才能同步到下一台机器
    log-slave-updates
    master-host=192.168.1.88
    master-user=root 
    #在此处填入192.168.1.88的root密码
    master-password=XXXXX
    #asyntest1是我用来试验的数据库名称,到时候要换成你的数据库名字
    replicate-do-db=asyntest1
    master-connect-retry=10
    #出现错误后忽略,如果不加这个,出现任何错误,同步进程会终止
    slave-skip-errors=all在192.168.1.8, 192.168.1.88, 192.168.1.188上建立完全一样的数据库asyntest1,重启这三台数据库,然后在任何一台机器上进行的更新操作,都会同步到另外的两台机 器上,这是一种环形同步,在192.168.1.8有任何修改,会首先同步到192.168.1.88的机器上,88的机器再将同步的数据同步到 192.168.1.188的机器上。同样,如果在192.168.1.88上有任何更新,首先会同步到192.168.1.188的机器上,然后再同步 到192.168.1.8的机器上;而在192.168.1.188的机器上有任何更新,首先会同步到192.168.1.8的机器上,然后在同步到 192.168.1.88的机器上。利用这种原理,可以解决任意多台机器的互相同步问题。如果出现问题,首先请在每一台服务器上用命令行通过telnet命令检查其他机器3306端口的连通情况。另外,请检查各机器的防火墙设置和杀毒软件的配置。可将这些软件暂停后进行试验
      

  2.   

    哥们谢谢了,可是不太符合我的需求呀!我不能这么做,我只要是1.8同步        1.88,1.888上的特定数据库比如你说的asyntest1!