cymple 发表于 2013-1-16 00:42:37

[replication]mysql 5.0.45下的MASTER SLAVE(1)

- 环境:
mysql 5.0.45
serv-1 centos 5.2 #master
serv-2 centos 5.2 #slave
- 步骤:
1. 修改MASTER的 /etc/my.cnf
     增加以下内容:
      server-id = 1
       log-bin=mysql-bin # 打开log bin
       binlog-do-db = DBXXX # 要同步的数据库,但是不建议增加,放在SLAVE里做过滤会更好.待考证.
       replicate-do-db = DBXXX # 不加也无所谓
       grant replication slave on *.* to for_serv-2_user@serv-2 identified by 'slave-server-password';
2. 修改SLAVE的 /etc/my.cnf
    增加以下内容:
      server-id = 2
      master-host = serv-1
       master-user = for_serv-2_user
       master-password = slave-server-password
      master-connect-retry = 60
      replicate-do-db = DBXXX # 还需要考证MASTER端不做任何的输出控制,在SLAVE端做过滤
   3. restart master slave
   4. 同步DBXXX SQL文件
- 注意
1. mysql5里完成replication是使用了三个线程,当M,S分别重启以后,S在执行了start slave(重启后默认执行)以后,S端发起一个I/O线程,去连接并请求M. M接到S的I/O请求,开始创建一个binlog dump线程发送给S,S的I/O线程接受到M的线程的语句后,将内容拷贝到中继日志(relay logs). S的SQL RUNING 线程读取中继日志,更新S的数据.
2. M端,可以使用 show processlist; show master staus;查看线程和M端情况, S端,可以使用 show processlist; show slave status查看情况. slave start;slave stop;分别进行开关.
3. 当数据不一致,或者有数据错误时,可以再S端,删除中继日志以及bin日志.
页: [1]
查看完整版本: [replication]mysql 5.0.45下的MASTER SLAVE(1)