51CTO技术论坛 » MySQL & PostgreSQL & Sybase » MySql数据库同步复制        上一帖     下一帖    查看完整版本

页: [1]

wood_tx2008-7-17 05:14
MySql数据库同步复制

MySql数据库同步复制   
  该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。   
  数据库同步复制功能的设置都在mysql的设置文件中体现。mysql的配置文件(windows下为my.ini,Unix/Linux下为my.cnf)   
   
  1、实施环境:   
    操作系统:2台linux   AS   4[up3]   
    mysql:mysql-4.1.15.tar.gz   
    SvrA   ip:192.168.1.10   
    SvrB   ip:192.168.1.11   
  2、配置方法   
  Demo   1:主从模式[Master->Slave]:A->B   
   
  =====step   1:分别在SvrA、SvrB上配置同步DB及Account=====   
  Step   A:SvrA上配置   
    1.增加一个用户最为同步的用户帐号:   
    GRANT   FILE   ON   *.*   TO   [url=mailto:backup.user@'192.168.1.11']backup.user@'192.168.1.11'[/url]   IDENTIFIED   BY   ‘rsync.mysql’;   
    2.增加一个数据库作为同步数据库:   
    create   database   backup;   
    Step   B:SvrB上配置   
    1.增加一个用户最为同步的用户帐号:   
    GRANT   FILE   ON   *.*   TO   [url=mailto:backup.user@'192.168.1.10']backup.user@'192.168.1.10'[/url]   IDENTIFIED   BY   ‘rsync.mysql’;   
    2.增加一个数据库作为同步数据库:   
    create   database   backup;   
          ====step   2:配置Master、Slave参数======    
  主从模式:A->B即  SvrA为master   ,SvrB为slave   
    1、修改SvrA   中mysql的my.cnf文件。在mysqld配置项中加入下面配置:   
  server-id=1   
  log-bin   
  binlog-do-db=backup   
   
  注   
  Log-bin   #设置需要记录log   可以设置log-bin=/Data/logs/mysqllog   设置日志文件的目录[其中mysqllog是日志文件的名称,mysql将建立不同扩展名,文件名为mysqllog的几个日志文件]。   
    binlog-do-db=backup   #指定需要日志的数据库   
    配置完后重起数据库服务。   
    用show   master   status   命令看日志情况。   
    2、修改SvrB中   mysql的my.cnf文件。在mysqld配置项中加入下面配置:   
    server-id=2   
    master-host=192.168.1.10   
    master-user=backup.user   #同步用户帐号   
    master-password=rsync.mysql   
    master-port=3306   
    master-connect-retry=10   预设重试间隔10秒   
    replicate-do-db=backup   告诉slave只做backup数据库的更新   
    配置完后重起数据库   
    用show   slave   status看同步配置情况。   
    注意:由于设置了slave的配置信息,mysql在数据库目录下生成master.info   
    所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。   
  Demo   2、双机互备模式。   
    如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。   
    在A的配置文件中   mysqld   配置项加入以下设置:   
    master-host=192.168.1.11   
    master-user=backup.user   
    master-password=rsync.mysql   
    replicate-do-db=backup   
    master-connect-retry=10   
    在B的配置文件中   mysqld   配置项加入以下设置:   
    log-bin   
    binlog-do-db=backup   
    注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave   start   
    重起AB机器,则可以实现双向的热备。

shylin2008-10-23 03:20
感谢分享

bigone2008-10-23 09:57
試試



相关文章:
MySQL
mysql-数据库的备份和恢复
apache的启动停止
Apache2 httpd.conf 中文版详解
求助SQL语句

查看完整版本: MySql数据库同步复制


Powered by 51CTO.COM