掌握MySQL恢复数据备份知识

  

本文主要给大家简单讲讲MySQL恢复数据备份知识,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望MySQL恢复数据备份知识这篇文章可以给大家带来一些实际帮助。

数据库备份恢复知识要点:

1。时间轴备份类型分类:

,,,,,完全备份:备份整个数据集

,,,,,增量备份:上一次完全备份,或上一次增量备份以后变化的数据的备份(还原麻烦,节省空间)

,,,,,差异备份:仅备份最近一次完全备份以来变化的数据(还原简单,空间消耗大)

2。什么是物理备份,逻辑备份:

,,,,,物理备份:直接复制数据文件进行备份(有可能占用更多的空间,备份速度快,做热备较难)

,,,,逻辑备份:从数据库中导出数据“另存为”而进行的备份(从二进制转化为文本格式,有可能丢失精度,需要专门的协议客户端才能进行,和数据存储引擎无关,备份恢复时间较长,做热备容易)

3。应该备份什么?

<>之前,,,,,①,数据   ,,,,②,二进制日志,innodb的事务日志   ,,,,③,代码(存储过程,存储函数,触发器,事件调度器)   ,,,,④,云服务器的配置文件

4。备份工具:

<>之前,,,,,①,MySQLdump , # mysql自带逻辑备份工具   ,,,,②,cp, tar 物理备份工具,冷备   ,,,,③,lvm2的快照:几乎热备(请求施加全局持锁),借助于文件系统管理工具进行备份   ,,,,④,mysqlhotcopy :几乎冷备,仅适用于myisam存储引擎

5。备份方案的选择:

,,,方案一:MySQLdump +复制binlog(时间较慢,支持远程备份)

,,,,,,,,,,,,,,,,,MySQLdump:完全备份

,,,,,,,,,,,,,,,,,复制binlog中指定时间范围的事件:增量备份

,,,方案二:lvm2快照+复制binlog

,,,,,,,,,,,,,,,,lvm2快照:使用cp或焦油等做物理备份:完全备份

,,,,,,,,,,,,,,,,复制binlog中指定时间范围的事件:增量备份

,,,方案三:XtraBackup

,,,,,,,,,,,,,,,,由percona提供的支持对innodb做热备(物理备份)的工具

,,,,,,,,,,,,,,,,支持完全备份,增量备份

, MySQLdump备份工具讲解:

<人力资源/>

1。什么是,MySQLdump ?

,,,,,mysql或mariadb自带客户端命令,逻辑备份工具。是图形化备份管理工具mydumper, phpmyadmin的备份调用工具。基于mysql客户端协议,适用于所有存储引擎,温备:完全备份,部分备份。对innodb支持热备(时间较长)适合备份较小的数据库(GB以下).

2 .对常见存储引擎支持:

,,,,InnoDB:热备或温备;

,,,MyISAM:温备;

3。备份机制:

<>之前,,,,通过mysql协议连接至mysql云服务器。向mysql云服务器发起一个全量查询操作,把所有数据拿到本地以后,并且将读取到的数据保存在文件中从而完成备份。   ,,库:CREATE 数据库   ,,表:CREATE 表   ,,,数据:INSERT 到

4。使用方法用法:

,,,,①,mysqldump[选项]数据库(表),#备份单库,可以只备份其中的一部分表(部分备份,还原时需手动创建数据库),

,,,②,mysqldump[选项],[选项]DB1 [- b/菘釪B2 db4……),#备份多库(推荐使用),

,,,③,mysqldump[选项],-/-所有数据库[选项]#备份所有库;

5。初级备份实验示例:

,,,①备份:mysqldump -uroot - p - b测试比;test.sql

,,,②登录mysql删除测试库:删除数据库,测试;

,,,③恢复:mysql -uroot - p & lt; test.sql

, MySQLdump使用进阶:

<人力资源/>

,,,,,,,实际生产使用中,需要考虑到备份时长,备份精度,备份过程对线上体验的影响,从完全备份后产生的数据恢复方法等,本节介绍,MySQLdump针对主流存储引擎额外选项,对事务记录,以及演示生产使用,MySQLdump。

MyISAM存储引擎选项:支持温备,备份时要锁定表(避免数据不一致);

,,,,,- x, lock-all-tables:锁定所有库的所有表,读锁;

,,,,,,- l,锁表:锁定指定库所有表;

InnoDB存储引擎:支持温备和热备,

,,,,——单独的事务:创建一个事务,基于此快照执行备份;后续要跟崩溃后恢复操作

其它选项:

,,,,- r,例程:备份指定库的存储过程和存储函数;

,,,,——触发:备份指定库的触发器;

,,,,- e,事件:备份指定数据库相关的所有事件调度器;

,,,,——主数据(=#)

,,,,,,,,,,,,1:默认(主数据),记录为改变主语句,此语句不被注释(据说在改变主时不用指定master_log_file和master_log_pos即可);

,,,,,,,,,,,,2:记录为改变主语句,此语句被注释;

,,,- f/猣lush-logs:锁定表完成后,即进行日志滚动操作,

掌握MySQL恢复数据备份知识