文章目录

  • 备份
  • 主从复制
    • 主从复制的作用

备份

根据备份方法的不同,备份可划分为以下几种类型

  • 热备(Hot Backup) :热备指的是在数据库运行的时候直接备份,并且对正在运行的数据库毫无影响,这种方法在MySQL官方手册中又被称为在线备份
  • 冷备(Cold Backup) :冷备指的是在数据库停止的时候进行备份,这种方法十分简单,就是直接复制相关的数据库物理文件,这种方法在MySQL官方手册中被称为离线备份。
  • 温备(Warm Backup) :温备与热备相同有一点相同,即两者都是在数据库运行时进行备份,但是温备会对数据库当前的操作产生影响,因此需要加一个全局读锁来保证备份数据的一致性

按照备份后文件的内容,备份又可以分为

  • 逻辑备份:逻辑备份即直接备份数据库中的一条条SQL语句或者表内的数据,通常是可读的文本文件。这种方法的好处是我们可以观察导出备份文件的内容,但是由于恢复时需要重新执行这些命令和导入数据,所以恢复的时间往往较长。
  • 裸文件备份:裸文件备份即复制数据库的物理文件,既可以在运行时进行复制,也可以在停止时进行复制,并且这类备份的恢复时间往往要比逻辑备份要快很多。

按照备份数据库的内容,备份又可以分为

  • 完全备份 :对数据库进行一个完整的备份
  • 增量备份 :在上次完全备份的基础上对后续更改的数据进行备份
  • 日志备份 :对二进制日志的备份

不仅仅只有以上方法,我们还可以通过主从复制,利用从服务器作为备份


主从复制

主从复制是MySQL中提供的一种高可用的解决方案,步骤如下

  • 主服务器把数据更改到二进制日志(binlog)中
  • 从服务器把主服务器的二进制日志复制到自己的中继日志(relay log)中
  • 从服务器重做中继日志中的日志,把更改的内容应用到自己的数据库中,达到数据的最终一致性

这种复制其实就是完全备份+二进制日志备份的还原,并且为了保证数据的一致性,二进制日志的还原操作基本实时在进行。具体工作原理如下图所示

可以看到,从服务器有两个线程,一个是I/O线程,一个是SQL线程。

I/O线程负责读取主服务器的二进制日志,并将其保存到从服务器的中继日志中

SQL线程负责执行中继日志,并执行其中的SQL语句

主从复制的作用

复制不仅仅可以用来做备份,还可以用作以下几种功能

  • 读取的负载均衡 :由于主从服务器中的数据一致,所以可以将读取平均的分布到从服务器中,减少主服务器的压力
  • 数据分布 :可以在不同的服务器之间实现数据的复制
  • 高可用和故障转移 : 在主服务器发生故障的时候,可以使用从服务器进行顶替,减少故障的停机时间和恢复时间。

如果某一程序员删库跑路,或者我们进行了一些删库删表的误操作,此时由于主从复制的机制,这些操作也会被同步到从服务器中,导致数据库瘫痪,那这种情况如何处理呢?

我们可以采用快照+复制的备份架构,对从服务器上数据库所在分区做快照,当主服务器发生了误操作时,我们只需要利用从服务器上保存的快照进行恢复,再根据二进制日志来进行某一时间点的恢复即可,如下图所示

MySQL 备份与主从复制相关推荐

  1. MySQL 备份和恢复策略

    在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.本文主要对MyISAM表做备份恢复. 备份策略一:直接拷贝数据 ...

  2. Maria数据库怎么复制到mysql_maria(mysql)的主从复制

    一.mariadb的基本操作 1.远程连接 mysql -uroot -p -h 127.0.0.1mysql-uroot -p -h 192.168.226.128 2.赋予远程连接的权限 gran ...

  3. 关系型数据库之Mysql备份(五)

    二进制日志简要: 二进制日志通常作为备份的重要资源,所以再说备份之前我们来回顾下前面专题讲过的二进制日志内容. 1.二进制日志内容 引起mysql服务器改变的任何操作. 复制功能依赖于此日志. 从服务 ...

  4. 运维工程师必备之MySQL数据的主从复制、半同步复制和主主复制详解

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  5. MySQL 备份和恢复策略(二)

    备份策略三.使用mysqldump备份数据库 mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法 ...

  6. 青蛙学Linux—MySQL备份工具XtraBackup

    XtraBackup是Percona公司开发的一款免费开源的MySQL备份工具.与上一篇介绍的mysqldump不同,XtraBackup可以对MySQL进行物理备份(备份的是MySQL的文件而不是生 ...

  7. mysql主从切换gtid不一致_解决mysql使用GTID主从复制错误问题

    解决mysql使用GTID主从复制错误问题 做MySQL主从的话肯定会遇到很多同步上的问题, 大多数都是由于机器宕机,重启,或者是主键冲突等引起的从服务器停止工作, 这里专门收集类似问题并提供整理解决 ...

  8. mysql备份与还原-mysqldump备份、mysql与source还原

    以下都以在linux操作系统上的mysql为例 mysqldump备份 mysqldump实际就是将数据库中的数据转化为建库.建表和插入记录的sql语句 1.备份一个数据库 [或其中几个表],不指定表 ...

  9. mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

    mysql的innodb如何定位锁问题: 在使用 show engine innodb status检查引擎状态时,发现了死锁问题 在5.5中,information_schema 库中增加了三个关于 ...

最新文章

  1. 使用SSM+Layui+Bootstrap实现汽车维保系统
  2. git撤销/回退操作
  3. 计算机科学与应用论文的素材,计算机专业学位论文范文最新资料汇集
  4. linux 驱动线程与进程,Linux内核学习之二-进程与线程
  5. ROS笔记(15) Xacro
  6. 来看一下:构造函数的小秘密详解
  7. UNIX-LINUX编程实践教程-第五章-实例代码注解-echostate.c
  8. 编程小白C语言例题4
  9. beetl html模板,Beetl模板引擎之自定义html标签
  10. vue使用高德地图获取当前经纬度
  11. 移动设备管理与OMA DM 协议 V5(3)
  12. 2019奥鹏四月份考试英语计算机,中石油华东2019年秋季学期《大学英语4》在线考试补考(适用于2020年4月份考试)题目【标准答案】...
  13. 使用markdown写论文
  14. java水仙花数编程_水仙花数java编程实现
  15. 别人写的微信小程序,收藏借鉴!
  16. 标准化作业指导书的作用是什么?如何制作标准化作业指导书?
  17. 数学学习方法:直观思维的重要性
  18. hammer.js教程2
  19. 在《css禅意花园》中所学到的
  20. ACM-ICPC模板整理

热门文章

  1. Hystrix Health Indicator及Metrics Stream支持
  2. css 首字下沉 错位,css+div错位问题的修复小结
  3. 单链表之无头和有头--逆序
  4. 34.任务计划cron chkconfig systemctl管理服务 unit target
  5. Redis源码编译安装
  6. WRC 2017最值得关注的专题论坛之一,与大咖探讨青年科学家的创新创业
  7. Ansible-playbook 部署redis主从
  8. MySQL MHA配置常见问题
  9. 2015年中国人才招聘趋势报告
  10. vsftpd虚拟用户和本地用户不能共存的解决方法