数据库备份与恢复(Mysql)

时间:2023-03-10 02:12:03
数据库备份与恢复(Mysql)

Mysql备份种类可以分为两种:完全备份和增量备份

完全备份:对某一个时间点上的所有数据或应用进行的一个完全复制。

增量备份:指在一次全备份上或上一次增量备份后,以后每次的备份只需备份与前次相比增加或被修改的binlog文件。这就意味着第一次增量备份的对象是进行全备后又增加和修改的binlog文件。第二次增量备份的对象是进行第一次增量备份后所增加和修改的binlog文件。

按照备份方式可分为三种:冷备份、热备份和逻辑备份

冷备份:此时数据库处于关闭状态,能够较好地保证数据库的完整性

热备份:数据库正处于运行状态,这种备份方法依赖于数据库的日志文件

逻辑备份:使用mysqldump命令从数据库中提取数据,并将结果写到一个文件上,文件内容为纯文本的sql语句

细说各种备份:

冷备份:一般用于非核心业务,这类业务一般都允许中断,冷备份的特点是速度快,恢复也最为简单。通过直接复制物理文件来实现冷备份

逻辑备份:一般用于数据迁移或者数据量很小时,逻辑备份采用的是数据导出的备份方式

1)导出所有的数据库

mysqldump -q --single-transaction -A > all.sql

2)如果只是导出其中的某几个数据库,则采用如下命令

mysqldump -q single-transaction -B test1 test2 >test1_test2.sql

3)只需要导出表结构的时候,采用如下命令

mysqldump -q -d --skip-triggers

4)只需要导出存储过程的时候

mysqldump -q -Rtdn --skip-triggers

5)只需要导出触发器

mysqldumo -q -tdn --triggers

6)只需要导出事件

mysqldump -q -Etdn --skip-triggers

7)只需要导出数据时

mysqldump -q -single-transaction --skip-triggers -t

8)要想在线建立一台新的slave

mysqldump -q --single-transaction --master-data=2 -A > all.sql

附加:mysqldumo增加了一个重要参数

在mysql5.5里,新增加了一个重要参数,即--dump-slave,使用该参数化可在slave端dump数据,建立新的slave,其目的就是为了防止对主库造成过大压力。

取代mysqldump的新工具Mysqldumper

mysqldumper的主要特性包括:

相比于mysqldump,其速度快了近10倍

具有事务性和非事务性表一致的快照

可快速进行文件压缩

支持导出binlog

可多线程恢复

可以用于守护进程的工作方式,定时扫描和输出连续的二进制日志