开发者学堂课程【MySQL 实操课程:MySQL 备份方式】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/717/detail/12824
MySQL 备份方式
内容介绍
一、前言
二、MySQL 备份方式概述
三、MySQL 备份方式
一、前言
这节课主要讲解 MySQL 备份与还原,首先本小节的内容包含以下四部分,MySQL备份方式,MySQL 下全量和增量备份与还原原理,MySQL 下全量备份与还原,MySQL 下增量备份与还原。这里首先会讲解 MySQL 备份方式,MySQL 备份方式包含物理备份和逻辑备份,这节课会进行讲解对比这两种方式的差异,第二部分的内容会分享全量和增量备份与还原原理,讲解对于全量和增量备份主要运用在什么场景,如何进行全量和增量备份和还原原理的操作,第三部分会讲解 MySQL 下的全量备份与还原的实践,这部分会进行对比怎样通过阿里云上的 ecs 云主机下本地安装的 MySQL 进行备份与还原,也会对比讲解 MySQL 的 RDS for MySQL 就是阿里云的云数据库下面如何操作全量备份与还原,第四部分会进行讲解 MySQL 下基于 binlog 的增量备份与还原。
首先进入到第一部分内容,在讲备份之前,有必要了解 SQL 备份是在什么场景下进行操作,和必要性有哪一些。如下进行 MySQL 备份方式的概述。
二、MySQL 备份方式概述
1、尽管数据库系统中采取了各种保护措施来保证数据库的安全性和完整性,但是计算机系统中的硬件故障、软件错误、操作失误及恶意破坏仍是不可避免的,因此数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完整状态)的功能,这就是数据库的恢复。
2、那么对于一个应用系统来说,对整个系统进行一个恢复,主要是针对数据库的管理系统。恢复子系统是数据库理系统的一个重要组成部分,而且还相当庞大,常常占整个系统代码的百分之十以上。数据库系统所采用的恢复技术是否行之有效,不仅对系统的可靠程度起者决定性作用,而且对系统的运行效率也有很大影响,是衡量系统性能优劣的重要指标。所以对于数据库的恢复,在日常工作中占有很大的一个比重,比如说数据库运行在生产环境,如果遭受一些恶意攻击或者生产失误,就会导致一些核心数据被销毁,这时就需要对数据库进行还原和恢复,不仅要求能还原到某一个时间点,而且能还原到最近时间的一个正确状态,所以就需要对还原,能够准确到某一个时间点,后面会进行讲解。
下面进行讲解备份数据库的方法,在前面课程中,特别是在存储讲解课程中提到过,不管是 InnoDB 还是 MylSAM 存储引擎最终的数据都是基于磁盘上面,在磁盘上对应的一个个文件当中,只是文件可能不同,就如下面的完全备份。
三、MySQL 备份方式
备份数据库的方法:
1、完全备份
将数据库中的数据及所有对象全部进行备份。那么这种完全备份可以根据刚才讲解的可以去进行物理文件的备份,可以实现完全备份,这就是第一种方法,不光要备份局部数据,还要备份所有的数据。
2、表备份
仅将一张或多张表中的数据进行备份。第二种方式是只备份表,可能是因为误操作某一张表导致表的数据被损坏,是不可能去恢复全部的数据库,因为数据库下面可能挂载了其他数据库,数据库下面又有很多表,所以最简单的办法就是只备份一张或多张表的数据,比如有些表的内容是固定的再去进行备份的话就会浪费存储空间,也会增加备份的时间。
3、增量备份
在某一次完全备份的基础,只备份其后数据的变化。增量备份好处就是提高备份效率,减少备份占的存储空间,因为每次备份的时候都会涉及到磁盘 io 大量的写入。还原的时候就可以根据完全备份,加上增量备份文件一起还原到最近的某个时间点。