您的位置:首页 > 数据库 > MySQL

多台服务器mysql数据库数据同步

2017-05-31 17:08 302 查看
Mysql多机同步技术研究总结

假定有三台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端口的连通情况。另外,请检查各机器的防火墙设置和杀毒软件的配置。可将这些软件暂停后进行试验。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: