今天测试了一下mysql的主从同步,效果还可以,可以用户大并发下的数据库负载问题,遇到的问题暂时不详,此次只是实验,暂无放在生产环境,

配置完成之后会放到生产环境,在review。

环境:

Linux  centos5.5  32bit

mysql 5.1.58

测试数据库 :test。

测试网络 美国两个地理位置机房。为了不必要的麻烦暂时称之为 IP1和IP2

配置:

首先创建同步的用户

mysql>GRANT all privileges ON *.* TO tongbu@'IP2' IDENTIFIED BY '123456';

解释:创建只有IP2可以访问的用户tongbu,密码为123456

主数据库配置:vi  /etc/my.cnf
log-bin
server-id = 1
从数据库配置
server_id = 2
log-bin = mysql-bin
master-host = IP1
master-user = tongbu
master-password = '123456' #(如果为空也要打上两个单引号)
master-port = 3306 #(根据具体设置的端口号填)
master-connect-retry = 10 #连接重试次数
replicate-do-db = test #要接收的数据库名,如果有多个数据库,每个数据库一行
replicate-ignore-db= mysql # 设置不要接收的数据库,每个数据库一行 (一般这条可以不写)

重启mysql,
然后进入从数据库开始同步:slave start;
注意点:
1.配置成功后会在mysql目录下生成master.info,如果要更改slave设置,要先将master.info删除,才会起作用。
2.mysql用show slave status 或show master status 查看同步情况。
我测试在从数据库进行ICD操作均可以同步到主数据库,关闭任何一个数据库操作完毕再重启也可以同步。
如此算来如果使用子增长字段可能会出现错误。