zoukankan      html  css  js  c++  java
  • mysql双机热备实现方案

    一、概念

    1、热备份和备份的区别

      热备份指的是:High Available(HA)即高可用,而备份指的是Backup,数据备份的一种。这是两种不同的概念,应对的产品也是两种功能上完全不同的产品。热备份主要保障业务的连续性,实现的方法是故障点的转移。而备份,主要目的是为了防止数据丢失,而做的一份拷贝,所以备份强调的是数据恢复而不是应用的故障转移。

    2、什么是双机热备? 

      双机热备从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。

      从狭义上讲,双机热备就是使用互为备份的两台服务器共同执行同一服务,其中一台主机为工作机(Primary Server),另一台主机为备份主机(Standby Server)。在系统正常情况下,工作机为应用系统提供服务,备份机监视工作机的运行情况(一般是通过心跳诊断,工作机同时也在检测备份机是否正常),当工作机出现异常,不能支持应用系统运营时,备份机主动接管工作机的工作,继续支持关键应用服务,保证系统不间断的运行。双机热备针对的是IT核心服务器、存储、网络路由交换的故障的高可用性解决方案。

    二、环境描述

    1、master

    系统:windows 7 

    数据库:mysql5.5

    ip:192.168.0.123

    2、slave

    系统:windows 7 

    数据库:mysql5.5

    ip:192.168.0.105

    (注:主服务器的版本不能高于从服务器版本 ,两台服务器须处于同一局域网)

    三、主从热备实现

    1、账户准备

    ①在master服务器上为从服务器建立一个连接帐户,该帐户必须授予REPLICATION SLAVE权限。进入mysql操作界面,输入以下SQL:

    grant replication slave on *.* to 'replicate'@'192.168.0.105' identified by '123456';
    flush privileges;

    操作如图:  

     ②验证连接账户

    在从服务器(slave)上用replicat帐户对主服务器(master)数据库进行访问,看是否可以连接成功。

    在从服务器打开命令提示符,输入以下命令:

    mysql -h192.168.0.123 -ureplicate -p123456

    如果出现下面的结果,则表示能登录成功,说明可以对这两台服务器进行双机热备进行操作。

    2、master配置

    ①修改mysql配置文件。找到my.ini配置文件打开后,在[mysqld]下修改即可:

    [mysqld]

    server-id = 123 #主ID,与从ID不能相同

    log-bin=mysql-bin # 设定生成log文件名

    binlog-do-db = test_db #设置同步数据库名

    replicate-do-db=test_db   # 从服务器同步数据库名

    binlog-ignore-db = mysql  #避免同步mysql用户配置

    ②重启mysql服务

    打开命令提示符,输入以下两条命令完成重启:

    net stop mysql
    net start mysql

    ③查看master服务器状态

    show master status;

    ④锁表

    目的是为了产生环境中不让进新的数据,好让从服务器定位同步位置,初次同步完成后,记得解锁

    flush tables with read lock;

    步骤③④操作如图:

    3、slave配置

    ①修改my.ini配置文件

    log-bin=mysql-bin #设定生成log文件名
    server-id=105 # 从ID,与主ID不能相同
    binlog-do-db=test_db #设置同步数据库名
    binlog-ignore-db=mysql #避免同步mysql用户配置
    replicate-do-db=test_db # 从服务器同步数据库名
    replicate-ignore-db = mysql,information_schema,performance_schema

    ②重启mysql服务

    ③用change mster 语句指定同步位置

    进入mysql操作界面后,输入如下指令:

    stop slave;
    reset slave;
    change master to master_host='192.168.0.123',master_user='replicate',master_password='123456',master_log_file='mysql-bin.000124',master_log_pos=107;
    start slave;

    注:这里的master_log_file、master_log_pos必须和前面show master status查询结果保持一致

    操作如图:

    4、解锁master表

    unlock tables;

    至此,主从热备实现完成,可进行测试操作。

  • 相关阅读:
    【面积并】 Atlantis
    【动态前k大 贪心】 Gone Fishing
    【复杂枚举】 library
    【双端队列bfs 网格图建图】拯救大兵瑞恩
    【奇偶传递关系 边带权】 奇偶游戏
    【权值并查集】 supermarket
    CF w4d3 A. Pythagorean Theorem II
    CF w4d2 C. Purification
    CF w4d2 B. Road Construction
    CF w4d2 A. Cakeminator
  • 原文地址:https://www.cnblogs.com/wintercloud/p/10620232.html
Copyright © 2011-2022 走看看