13-MySQL--数据备份与还原(数据表备份+单表数据备份+SQL备份+增量备份)

本文详细介绍了MySQL数据备份与还原的四种方式:数据表备份、单表数据备份、SQL备份和增量备份。数据表备份适用于MyISAM存储引擎,而InnoDB引擎则不适用。单表数据备份能导出特定表的数据,但不包含表结构。SQL备份生成SQL语句以备份和还原数据,而增量备份则是基于日志文件进行,适合大型项目,能精确还原操作。
摘要由CSDN通过智能技术生成

一、数据备份与还原

1、备份:将当前已有的数据或者记录保留(在不影响原来数据的基础上保留)

2、还原:将已经保留的数据恢复到对应的表中

3、为什么要做备份还原

(1)防止数据丢失:被盗、误操作等

(2)保护数据记录

4、数据备份还原的方式有很多种:数据表备份、单表数据备份、SQL备份、增量备份

二、数据表备份

1、数据表备份:不需要通过SQL来备份,直接进入到数据库文件夹复制对应的表结构以及数据文件。还原的时候,直接将备份的内容放进去即可

2、数据表备份有前提条件:根据不同的存储引擎有不同的区别

(1)存储引擎:MySQL进行数据存储的方式。主要有两种:innodb和myisam

(2)对比innodb和myisam数据存储方式

a). innodb:只有表结构xxx.frm,所有表的数据全部存储到ibdata1文件中(data\ibdata1跨库不识别)

好处:集中管理,数据查询的效率相对较高

弊端:管的太多,算法比较复杂

b). myisam:表、数据和索引全部单独分开存储(不依赖任何数据库)。一个存储引擎为myisam的表创建成功后,在数据库对应的文件夹下,会产生三个文件:

表名.frm:结构文件

表名.MYD:数据data

表名.MYI:索引index

3、数据表还原

(1)数据表备份通常适用于myisam存储引擎。备份时,直接复制xxx.frm+xxx.MYD+xxx.MYI三个文件即可。还原时,将复制的备份文件(xxx.frm+xxx.MYD+xxx.MYI)放到对应的数据库下,即可使用

eg:在mydatabase数据库中创建了一个存储引擎是myisam的表my_myisam。备份时,直接将mydatabase文件夹下的对应文件(三个)复制即可。还原时,如果想要将my_myisam表还原到test数据库下,直接将复制的三个文件粘贴到test文件夹中,即可使用my_myisam表的数据

(2)如果数据表的存储引擎是innodb,不能使用数据表备份这种方式备份数据。因为存储引擎是innodb的数据表,表结构文件(表名.frm)在数据库对应的文件夹下,但表中的数据在data\ibdata1文件中。只备份表结构没用,要的是结构中的数据。而innodb规定这个数据表只能在这个数据库下,对应的数据才能提供输出。数据在data\ibdata1中,跨库不识别

eg:在mydatabase数据库中创建了一个存储引擎是innodb的表my_class,想将该表my_class移动到test数据库下。如果只将mydatabase文件夹下的表结构文件my_class.frm复制到test文件夹下,use test; show tabl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值