实现一个Master对两Slave,当Master不能工作时,其中任一Slave可以转为Master。

测试环境:Linux AS3 + Mysql5.0.22

安装Mysql5:

  # tar -zxvf mysql-5.0.22.tar.gz
  # cd mysql-5.0.22
  # ./configure –prefix=/usr/local/mysql-5.0.22 –with-charset=gbk –with-extra-charsets=all –localstatedir=/data/mysql5.0.22
  # make
  # make install
  # cp support-files/my-small.cnf /etc/my5.0.22.cfg
  # /usr/local/mysql-5.0.22/bin/mysql_install_db
  # chown -R mysql.mysql /data/mysql5.0.22/
 

Master配置:

    server-id=1
    log-bin=<最好起个名子>   
    set-variable    = max_binlog_size=100M

    binlog-do-db=<备份的数据库名>

在Master建立备份用户:

    mysql> GRANT REPLICATION SLAVE ON *.* TO ‘replicator’@'<slaveIP>’ IDENTIFIED BY ‘backpassword’;

Slave配置:

    server-id=2
    log-bin=<记录bin log,将来可以做为Master>

    master-host=<hostname or IP>
    master-port=3306
    master-user=<replicator>
    master-password=<password>
   
    max-relay-log-size=500M
    master-connect-retry=30
    relay-log=mysql-replay-log
    relay-log-index=<mysql-replay-bin.index>

    #可以重命名数据库名称
    #replicate-rewrite-db=<备份的数据库名>->renamed_db
    #replicate-do-db=renamed_db
    replicate-do-db=<bakup_db>

    slave-skip-errors=126,1062

实施注意事项:
 1. 首先在SLAVE上建立相应数据库。
 2. 给Master、Slave 的Data目录足够的磁盘空间以存放binlog文件。
 3. 同步前请Dump出Master数据,然后导入Slave,确保两者初始数据完全一致。
 4. 如果同步不成功,请查看err日志查明原因。

附:
    Mysql5源代码安装简介
    以5.0.22 版本为例:
   # mkdir /data
    # tar -zxvf mysql-5.0.22.tar.gz
    # cd mysql-5.0.22
    #./configure –prefix=/usr/local/mysql-5.0.22 –with-charset=gbk –with-extra-charsets=all –localstatedir=/data/mysql5.0.22
    # make
    # make install
    # cp support-files/my-small.cnf /etc/my5.0.22.cfg
    安装Mysql数据库
    # /usr/local/mysql-5.0.22/bin/mysql_install_db
    保证数据目录mysql可读写
    # chown -R mysql.mysql /data/mysql5.0.22/

来源:http://hi.baidu.com/8hours/blog/item/f68c73f01ba063afa50f5225.html

发表评论