Heim  >  Artikel  >  Datenbank  >  MySQL双向复制简单配置步骤

MySQL双向复制简单配置步骤

WBOY
WBOYOriginal
2016-06-07 16:53:36975Durchsuche

MySQL从3.23版本起就已经内置了复制(Replication)的功能,我们可以配置成master-slave模式,也可以配置为master-master模式。方法

MySQL从3.23版本起就已经内置了复制(Replication)的功能,我们可以配置成master-slave模式,也可以配置为master-master模式。方法很简单,这里就master-master的配置简单的记录下来,我这里测试环境是mysql 5.1.31,一个是自己用源代码编译的,一个是用的xampp1.7里自带的。

首先找到两个版本相同的数据库服务器,最好是版本相同,或者差别太大(一个是3.x,一个是5.x,那估计没戏)。假设数据库的配置文件是/etc/my.cnf,我们假定A机的IP地址是192.168.0.1,B机的IP地址是192.168.0.2


我们在A机上给出一个授权用户,允许B机的某个账号拥有来获取要复制数据库的权利,这里假设针对所有的数据库都有复制的权利

mysql>grant file,replication slave on *.* to replicate@192.168.0.2 identified by ‘password’;

这样我们就创建了一个replicate的账号,密码是password。同样的方法在B机上也给A机一个授权

mysql>grant file,replication slave on *.* to replicate@192.168.0.1 identified by ‘password’;

接下来就是要修改配置文件了,首先打开A机的/etc/my.cnf文件,,在[mysqld]一段里,增加或者修改下面这些变量

server-id=1
log-bin=mysql-bin

master-host=192.168.0.2
master-user=replicate
master-password=password

保存退出。
同样的方法在B机上也做一遍,类似如下:

server-id=2
log-bin=mysql-bin

master-host=192.168.0.1
master-user=replicate
master-password=password

要注意,server-id千万别冲突了,当然,如果冲突了,数据库启动的时候会有报错的。

做完配置修改后,在重启数据库之前,我们还有做一件事请,那就是原始数据的同步,首先停止数据库,然后用A机的数据库全部覆盖B机的数据库(反之也行),总之,在重启之前,保证你需要同步的数据库应该是一致的(怎么说也得在同一个起跑线上嘛)。

好了,现在你可以重启你的数据库了。

你可以通过show master status; show slave status这样的SQL语句来查看对应的状态了。

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。

本文链接:

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