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

xiaoxiao2021-02-28  31

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端口的连通情况。另外,请检查各机器的防火墙设置和杀毒软件的配置。可将这些软件暂停后进行试验。

转载请注明原文地址: https://www.6miu.com/read-1000152.html

最新回复(0)