死磕数据库系列(十):MySQL 数据库的备份与恢复
在这之前,我们学习了:死磕数据库系列(八):MySQL 主从同步详解、死磕数据库系列(九):MySQL 读写分离详解等内容。其实,在数据库运行开始之时,有一个非常重要点就是:数据库里的数据备份与恢复,数据对于任何一家企业来说,都是重中之重,那么今天,民工哥就给大家详解介绍一下MySQL数据库的数据备份与恢复。
为什么需要数据库备份?
很多人,一看这标题,肯定张口就会答,这不是废话么。不备份故障了怎么办?跑路吗?数据被沙雕开发(不许喷)误删了怎么办?背锅吗?
当然,大家都知道备份的重要性与必要性。
1、保证数据安全与完整
企业的数据安全应该来说是企业的命脉,一旦丢失或造成损坏,轻则损失客户与金钱,重则倒闭(已经有前例在)。
备份的目的:为了保证数据在被人为失误、操作不当、蓄意等情况下删除或损坏后,能及时、有效的进行恢复并不会很大程度上影响到业务运行。
2、为业务提供不间断服务
实际生产环境对数据库的要求,首先就是具备7×24×365不间断服务的能力,这也是一定要备份数据库的其中原因之一。
要备份什么?
一般情况下, 我们需要备份的数据分为以下几种
- 数据
- 二进制日志, InnoDB事务日志
- 代码(存储过程、存储函数、触发器、事件调度器)
- 服务器配置文件
备份的类型
按照备份时数据库的运行状态,可以分为三种。
冷备:停库、停服务来备份
即当数据库进行备份时, 数据库不能进行读写操作, 即数据库要下线
温备:不停库、不停服务来备份,会(锁表)阻止用户的写入
即当数据库进行备份时, 数据库的读操作可以执行, 但是不能执行写操作
热备(建议):不停库、不停服务来备份,也不会(锁表)阻止用户的写入
即当数据库进行备份时, 数据库的读写操作均不是受影响
MySQL 中进行不同类型的备份还要考虑存储引擎是否支持
MyISAM热备 ×温备 √冷备 √<p>InnoDB热备 √温备 √冷备 √</p>