我们致力于一个MySQL知识的分享网站

  |   本站Feed      

MySQL双向复制简单配置步骤

2009-02-16 10:31:47  |   才被阅读:658 次  |  
分类: MySQL初级应用  |   发布: OurMySQL  |   来源:xplore.cn
标签: ,

MySQL从3.23版本起就已经内置了复制()的功能,我们可以配置成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, slave on *.* to replicate@192.168.0.2 identified by ‘password’;

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

mysql>grant file, 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语句来查看对应的状态了。

IT技术博客大学习

↑ 分享IT博客大学习的文章

相关文章

Leave a Reply