`
renky
  • 浏览: 18597 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Mysql 数据库双机热备的配置(Windows)

阅读更多

 

mysql3.23.15版本以后提供数据库复制功能。利用该功能可以实现两个数据库同步,主从模式,互相备份模式的功能。

 

1. 热备份的条件:

 

   a.mysql的版本都要高于3.2;

 

   b.作为从数据库的数据库版本可以高于主服务器数据库的版本,但是不可以低于主服务器的数据库版本。 

 

 

2. 设置方法:

 

   a. 范例环境:

 

      (1).操作系统: windows XP professional

 

      (2).MySQL版本: 5.1.45

 

      (3).服务器A的IP: 192.168.0.26
         
          服务器B的IP: 192.168.0.15

 

   b. 增加一个用户账号(backup)作为同步用户账号.


         A: mysql> Grant replication slave on *.* to backup@'192.168.1.15' identified by '1234';

         B: mysql> Grant replication slave on *.* to backup@'192.168.1.26' identified by '1234';

 

         注: (1). mysql> Grant 权限  on *.* to 用户账号@'允许访问的IP' identified by '用户密码';         
           
                (2). 4.0.2以前的版本, 因为不支持replication slave, 要改为 file,例如下面的语句:

 

                         mysql>  Grant file on *.* to backup@'192.168.1.15' identified by '1234';

 

     c. 增加一个数据库(news)作为同步数据库.   

 

         A & B : create database news;

 

   d. 主从模式:A->B.

      A 为 master: 

 

      server-id=1

      log-bin=backuplog   #设置需要记录log 可以设置log-bin=backuplog 设置日志文件的名称,

      #日志文件在mysql数据库文件夹根目录下,mysql将建立不同扩展名,文件名为backuplog的几个日志文件。

      binlog-do-db=news   #指定需要日志的数据库


     

       重起数据库服务。

 

      用show master status 命令看日志情况

 

 

      B 为 slave:

 

      server-id=2

      master-host=192.168.1.26

      master-user=backup      #同步用户帐号 

      master-password=1234

      master-port=3306

      master-connect-retry=60 #预设重试间隔60秒

      replicate-do-db=news    #告诉slave只做news数据库的更新 

      #在mysql数据库文件夹根目录下,会自动生成一个master.info的日志文件,

      #获取master服务器数据库的更新信息。

 

       

       重起数据库

 

       用show slave status看同步配置情况。

 

           注:由于设置了slave的配置信息,mysql在数据库目录下生成master.info。

 

           所以如有要修改相关slave的配置要先删除该文件。否则修改的配置不能生效。

 

 

    e. 双机互备模式:A<->B

 

          如果在A加入slave设置,在B加入master设置,则可以做B->A的同步。

 

          A加入设置:

 

          master-host=192.168.1.15

          master-user=backup

          master-password=1234

          replicate-do-db=news

          master-connect-retry=10

          #在mysql数据库文件夹根目录下,会自动生成一个master.info的日志文件,

          #获取master服务器数据库的更新信息。
 


          B加入设置:

 

          binlog-do-db=news #只做news数据库的更新

          log-bin=backuplog   #设置需要记录log 可以设置log-bin=backuplog 设置日志文件的名称,

          #日志文件在mysql数据库文件夹根目录下,mysql将建立不同扩展名,文件名为backuplog的几个日志文件。

 

           #重起AB机器,则可以实现双向的热备。

 

注意:当有错误产生时*.err日志文件。同步的线程退出,当纠正错误后要让同步机制进行工作,运行slave start

 

 

 

 

 


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics