MySQL~InnoDB的备份和主从复制

本文探讨了数据库备份的两种主要类型——热备份(如InnoDB的冷备)和冷备份(离线时备份),以及WarmBackup的特点。同时介绍了MySQL的快照备份和主从复制在实际应用中的工作原理。文章还提到了简历制作中技术能力和项目经历的呈现策略。
摘要由CSDN通过智能技术生成

6.跨平台支持,backup可以运行在Linux、 Windows以及主流的UNX系统平台上

  • 热备份的缺点:

1.不能出错,否则后果严重。

2.若热备份不成功,所得结果不可用于时间点的恢复。

3.因难于维护,所以要特别仔细小心,不允许“以失败而告终”

Cold Backup(冷备)

是指备份操作是在数据库停止的情况下,这种备份最为简单,一般只需要复制相关的数据库物理文件即可, 也叫做离线时备份

  • 对于InnoDB来说冷备非常简单,只需要备份MySQL数据库的frm文件、共享表空间文件、独立表空间文件(*.ibd)、重做日志文件

  • 冷备份的优点:

1.是非常快速的备份方法(只需拷贝文件)

2.容易归档(简单拷贝即可)

3.容易恢复到某个时间点上(只需将文件再拷贝回去)

4.能与归档方法相结合,作数据库“最新状态”的恢复。

5.低度维护,高度安全。

6. 跨平台性不好

  • 冷备份的缺点:

1.单独使用时,只能提供到“某一时间点上”的恢复。

2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在冷备份过程中,数据库必须是关闭状态。

3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。

4.不能按表或按用户恢复。 值得注意的是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的 。而且在恢复后一定要把数据库文件的属组和属主改为mysql。

Warm Backup(温备)

是指在数据库运行时进行的, 可以保证备份的数据的一致性,但是对当前数据库的操作会有所影响,例如加一个全局读锁以保证备份数据的一致性

快照备份

  • MySQL数据库本身并不支持快照功能,因此快照备份是指通过文件系统支持的快照功能对数据库进行备份。备份的前提是将所有数据库文件放在同一文件分区中,然后对该分区进行快照操作 .

  • 其原理使用了写时复制(Copy-on- write)技术来创建快照

  • 创建一个快照时,仅复制原始卷中数据的元数据( meta data),并不会有数据的物理操作,因此快照的创建过程是非常快的。当快照创建完成,原始卷上有写操作时,快照会跟踪原始卷块的改变,将要改变的数据在改变之前复制到快照预留的空间里,因此这个原理的实现叫做写时复制。而对于快照的读取操作,如果读取的数据块是创建快照后没有修改过的,那么会将读操作直接重定向到原始卷上,如果要读取的是已经修改过的块,则将读取保存在快照中该块在原始卷上改变之前的数据。因此,采用写时复制机制保证了读取快照时得到的数据与快照创建时一致

  • 下图显示了LVM的快照读取,可见B区块被修改了,因此历史数据放人了快照区域。读取快照数据时,A、C、D块还是从原有卷中读取,而B块就需要从快照读取了

在这里插入图片描述

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

主从复制


  • 复制(replication)是MySQL数据库提供的一种高可用高性能的解决方案,一般用来建立大型的应用

  • 总体来说,replication的工作原理分为以下3个步骤:

  1. 主服务器(master)把 数据更改后 记录到二进制日志(binlog)中

  2. 从服务器(save)把主服务器的 二进制日志 复制到自己的 中继日志(relay log)中

  3. 从服务器重做 中继日志中的 日志,把 主服务器更改后的数据 应用到自己的数据库上,以达到数据的最终一致性

  • **复制的工作原理并不复杂,其实就是一个完全备份加上二进制日志备份的还原。不同的是这个二进制日志的还原操作基本上实时在进行中 **

  • 这里特别需要注意的是,复制不是完全实时地进行同步,而是异步实时。这中间存在主从服务器之间的执行延时,如果主服务器的压力很大,则可能导致主从服务器延时较大

复制的工作原理

从服务器有2个线程:

  • 一个是IO线程,负责读取主服务器的二进制日志,并将其保存为中继日志

  • 另一个是SQL线程,复制执行中继日志, 把 主服务器更改后的数据 应用到自己的数据库上,以达到数据的最终一致性
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

至此,文章终于到了尾声。总结一下,我们谈论了简历制作过程中需要注意的以下三个部分,并分别给出了一些建议:

  1. 技术能力:先写岗位所需能力,再写加分能力,不要写无关能力;
  2. 项目经历:只写明星项目,描述遵循 STAR 法则;
  3. 简历印象:简历遵循三大原则:清晰,简短,必要,要有的放矢,不要海投;

以及最后为大家准备的福利时间:简历模板+Java面试题+热门技术系列教程视频

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
Nfea7Rw-1712049613796)]

[外链图片转存中…(img-QcTSoaMI-1712049613797)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值