一、概念

1、热备份和备份的区别

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

2、什么是双机热备?

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

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

二、环境描述

1、master

系统:MacOS 10.15.7

数据库:mysql5.7.16

ip:172.16.10.124
2、slave

系统:windows 10

数据库:mysql5.7.37

ip:172.16.10.67

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

三、主从热备实现

1、账户准备

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

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

②验证连接账户

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

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

mysql -h172.16.10.124 -ureplicate -p123456

出现 mysql> 命令行 表示成功。

2、master配置

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

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

②重启mysql服务

打开命令提示符,输入以下两条命令完成重启(windows系统命令):

net stop mysqlnet start mysql

③查看master服务器状态

show master status;

④锁表

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

flush tables with read lock;

3、slave配置

①修改my.ini配置文件 (同步数据库的名字一定要一直,大小写敏感)

log-bin=mysql-bin #设定生成log文件名
server-id=2 # 从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='172.16.10.124',master_user='replicate',master_password='123456',master_log_file='mysql-bin.000124',master_log_pos=107;

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

4、解锁master表

unlock tables;

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

后记:
文章基本是摘录的,流程是自己跑了一遍,结果是成功的。
自己遇到了几个小问题:
1.stop slave;命令报错,网上有解决办法。
2.macos系统没有my.ini文件,因为Mac系统和linux系统差不多,是my.cnf文件。/usr/local/mysql/mysql-support/default-my.cnf 把这文件复制一份到 /etc 改下名字为my.cnf 重启mysql,就ok了。
3.中间遇到个Slave_IO_Running: No 问题,我的解决办法是把主的数据库清理一下(或者把主从提前同步好),把之前的mysql-bin.00000x文件用mysql命令 reset master; (提醒,这个命令就把主数据库的binlog日志都删了,最好是测试环境先自己搞明白了,再搞生产环境)
4.强烈提醒,my.ini或my.cnf中的备份数据库名字,大小写要一致。
5.Got fatal error 1236 from master when reading data from binary log: 'Could nxxxx 报错,采用的第三步解决的。

mysql双机热备份相关推荐

  1. mysql 双机热备 原理,MySQL双机热备份的配置及原理

    A.MySQL双机热备份概述 双机热备就是使用MySQL提供的一种主从备份机制实现.所谓双机热备其实是一个复制的过程,复制过程中一个服务器充当主服务器,一个或多个服务器充当从服务.这个复制的过程实质上 ...

  2. MySQL双机热备份实施方案

    1.MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中.实现MySQL数据库的 ...

  3. mysql双机互备linux成功的_配置MySQL双机热备 - Linux服务器MySQL双机热备份试验_数据库技术_Linux公社-Linux系统门户网站...

    二.配置MySQL双机热备 传统模式都是采用MySQL双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档.故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/m ...

  4. mysql双机热备份的实现步骤

    MySQL 提供了数据库的同步功能,这对我们实现数据库的冗灾.备份.恢复.负载均衡等都是有极大帮助的.本文描述了常见的同步设置方法. 同步有两种形式: "主-从",和"主 ...

  5. 在linux下mysql双机热备份

    参考文章:https://blog.csdn.net/silentmuh/article/details/51722454 环境说明: 1.本环境使用Ubuntu18.04,mysql 5.7 2.两 ...

  6. mysql冷热备份方案_MySQL双机热备份实施方案

    MySQL双机热备份实施方案 1.MySQL数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数 ...

  7. mysql双机数据热备份_mysql 双机交互热备份

    最近做mysql 双机交互热备份实验,遇到不小细节问题,在这里分享给大家 #Master IP: 192.168.0.208 #Slave  IP: 192.168.0.108 #synchroniz ...

  8. 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践

    学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 原文 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 感谢大家在上一篇 学一 ...

  9. mysql 双机异地热备份—-mysql主从,主主备份原理及实践

    简单介绍mysql双机,多机异地热备简单原理实战. 双机热备的概念简单说一下,就是要保持两个数据库的状态自动同步.对任何一个数据库的操作都自动应用到另外一个数据库,始终保持两个数据库数据一致. 这样做 ...

  10. mysql 双向热备份_MySQL双机热备份

    系统: CentOS release 6.6 (Final) MySQL: mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) ...

最新文章

  1. Java中的Iterable与Iterator详解
  2. 如何提取D-Link解密密钥
  3. 获取的输入内容,没有被P标签包裹的文本和元素进行处理
  4. 30秒的PHP代码片段-MATH
  5. 远程服务器端口是否开放(审计)
  6. ElementUI的el-table隐藏id列
  7. python下视频的包_Python——爬取包图网图片和视频
  8. 走进“开源SDR实验室” 一起玩转GNU Radio:LimeSDR Source/Sink模块
  9. android,adb相关
  10. 工程项目失败案例_失败工程
  11. 全国计算机等级报名12,全国计算机等级考试12月20日开始报名!注意事项请查收!...
  12. win7文件共享(四步)
  13. 英雄帖-Alibaba-企业智能事业部-技术专家/高级Java工程师
  14. 关于保研的简历的一些建议
  15. 使用openfire,spark,fastpath webchat搭建在线咨询服务详细图文解说
  16. 深度优化Eclipse(工具提速,解决卡顿)
  17. JavaScript的关键字详解
  18. 谷歌推出 Google Home | 历史上的今天
  19. 安装ecplise的详细过程
  20. delphi xe mysql_Delphi XE中使用dbExpress连接MySQL数据库疑难问题解决(对三层的例子配置有帮助)...

热门文章

  1. Docker安装JanusGraph
  2. Android平台Camera实时滤镜实现方法探讨(八)--滤镜基本制作方法(二)简单美颜滤镜...
  3. 鸟哥的Linux私房菜(基础学习篇第四版)学习笔记
  4. Verilog算法入门
  5. JDK 内置的轻量级 HTTP 服务器 --- HttpServer
  6. 微商怎么引流被加精准粉?微商有效引流被加方法
  7. 五一期间完成了某市交警系统的一个系统升级迁移项目
  8. 随机森林基本原理与算法描述
  9. cad字体安装_CAD字体如何划分?资源去哪下载?上千种字体资源,免费分享赠送...
  10. Teradata天睿公司发布开源Kylo软件