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;

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

  • 相关阅读:
    Topshelf的使用
    ref和out的区别
    .NET编码解码(HtmlEncode与HtmlDecode)
    查询表中某字段有重复记录个数的方法
    ActiveReports 报表应用教程 (8)---交互式报表之动态过滤
    ActiveReports 报表应用教程 (7)---交叉报表及数据透视图实现方案
    ActiveReports 报表应用教程 (6)---分组报表
    ActiveReports 报表应用教程 (5)---解密电子商务领域首张电子发票的诞生(套打报表)
    ActiveReports 报表应用教程 (4)---分栏报表
    ActiveReports 9 新功能:借助目录(TOC)控件为报表添加目录功能
  • 原文地址:https://www.cnblogs.com/wintercloud/p/10620232.html
Copyright © 2011-2022 走看看