Welcome 微信登录

首页 / 数据库 / MySQL / MySQL双向复制简单配置步骤

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-binmaster-host=192.168.0.2
master-user=replicate
master-password=password保存退出。
同样的方法在B机上也做一遍,类似如下:server-id=2
log-bin=mysql-binmaster-host=192.168.0.1
master-user=replicate
master-password=password要注意,server-id千万别冲突了,当然,如果冲突了,数据库启动的时候会有报错的。做完配置修改后,在重启数据库之前,我们还有做一件事请,那就是原始数据的同步,首先停止数据库,然后用A机的数据库全部覆盖B机的数据库(反之也行),总之,在重启之前,保证你需要同步的数据库应该是一致的(怎么说也得在同一个起跑线上嘛)。好了,现在你可以重启你的数据库了。你可以通过show master status; show slave status这样的SQL语句来查看对应的状态了。版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息。本文链接: http://mlsx.xplore.cn/2009/02/15/two-way-mysql-replication.htmlLinux Oracle 设置LOCK_SGAMySQL两高层离职对Sun影响有多远 Linux相关资讯      mysql 
  • 数据库服务器 MySQL  (08/15/2013 06:50:23)
  • MySQL 5.6 GA 及逃亡潮  (02/08/2013 14:36:35)
  • MySQL 5.5.22、5.1.62、5.0.96全线  (03/22/2012 19:03:49)
  • MySQL Administrator连接VMWare下  (05/24/2013 09:20:58)
  • MySQL 5.1.68 发布  (02/05/2013 08:37:47)
  • CentOS 5.2+MySQL+Heartbeat双机互  (01/29/2012 11:16:55)
本文评论 查看全部评论 (0)
表情: 姓名: 字数