MySQL数据库备份介绍
Posted 锦衣admin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库备份介绍相关的知识,希望对你有一定的参考价值。
mysql数据库备份介绍
MySQL数据库备份
数据库备份前置知识
数据库: 一堆物理文件的集合;如:日志文件(二进制日志)+数据文件+配置文件
备份内容:
-
① 数据文件
-
② 配置文件 => my.cnf
-
③ 日志文件(主要是二进制日志文件)
数据库备份的三种类型
1️⃣逻辑备份:
备份的是建表、建库、插入等操作所执行SQL语句(DDL DML DCL)。
适用于中小型数据库,效率相对较低。 一般在数据库正常提供服务的前提下进行,如:mysqldump、mydumper、into outfile(表的导出导入)等。
备份实质:就是把要备份的数据导出成.sql或.txt文件
2️⃣物理备份:
直接复制数据库文件
适用于大型数据库环境,不受存储引擎的限制(可以通过专用工具),但不能恢复到不同的MySQL版本。
一般是在数据库彻底关闭或者不能完成正常提供服务的前提下进行的备份);如:tar、cp、xtrabackup(数据库可以正常提供服务)、lvm snapshot、rsync等
备份的实质:对数据文件 + 配置文件 + 日志文件进行拷贝操作
3️⃣在线热备(数据冗余、AB复制、主从复制):
MySQL的replication架构,如M-S|M-S-S|M-M-S等
实时在线备份
备份的两种方法
1️⃣完全备份(全备,又称全量备份):
- 因为对整个数据库进行备份,所以耗时较长
- 两次备份的内容有重复(如第一次全备后,第二次全备包含第一次的内容)
- 优点是简单方便
2️⃣增量备份(增量备份基于全量备份):
- 首先需要先有一份全量备份,然后基于全量比较,哪一部分数据发生变化。然后每次只备份变化部分的数据
备份工具
社区版安装包中的备份工具:
①
mysqldump
(逻辑备份,只能全量备份):
企业版和社区版都包含
本质上使用SQL语句描述数据库及数据并导出
在MYISAM引擎上锁表,Innodb引擎上锁行
数据量很大时不推荐使用
②
mysqlhotcopy
(物理备份工具):
企业版和社区版都包含
perl写的一个脚本,本质上是使用锁表语句后再拷贝数据
只支持MYISAM数据引擎
企业版安装包中的备份工具:
①
mysqlbackup
在线备份
增量备份
部分备份
在某个特定时间的一致性状态的备份
第三方备份工具:
①
XtraBackup
和innobackupex
(物理备份):
- Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。
- Xtrabackup有两个主要的工具:xtrabackup、innobackupex
- xtrabackup只能备份InnoDB和XtraDB两种数据表,不能备份myisam类型的表。
- innobackupex是将Xtrabackup进行封装的perl脚本,所以能同时备份处理innodb和myisam的存储引擎,但在处理myisam时需要加一个读锁。
②
mydumper
(逻辑备份,备份SQL语句):
多线程备份工具:
https://launchpad.net/mydumper/mydumper-0.9.1.tar.gz 2015-11-06(最后更新时间)
以上是关于MySQL数据库备份介绍的主要内容,如果未能解决你的问题,请参考以下文章