加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

史上最简单的MySQL数据备份与还原教程

发布时间:2022-10-25 13:33:06 所属栏目:MySql教程 来源:转载
导读: 本文主要为大家详细介绍了史上最简单的MySQL数据备份与还原教程第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。
数据备份与还原第一篇分享给大家,具体内容

本文主要为大家详细介绍了史上最简单的MySQL数据备份与还原教程第一篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。

数据备份与还原第一篇分享给大家,具体内容如下

基础概念:

备份,将当前已有的数据或记录另存一份;

还原,将数据恢复到备份时的状态。

为什么要进行数据的备份与还原?

防止数据丢失;

保护数据记录。

数据备份与还原的方式有很多种,具体可以分为:数据表备份、单表数据备份、SQL备份和增量备份。

数据表备份

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

不过想要进行数据表备份是有前提条件的,因为不同的存储引擎之间是有区别的。

对于存储引擎,MySQL 主要使用两种,分别为:InnoDB 和 Myisammysql备份,两者均免费。在这里,咱们可以顺便科普一下存储引擎的知识:

mysql备份_mysql mysqldump备份_mysql备份与恢复

程序员必备接口测试调试工具:立即使用

Apipost = Postman + Swagger + Mock + Jmeter

Api设计、调试、文档、自动化测试工具

后端、前端、测试,同时在线协作,内容实时同步

其中,Myisam 和 InnoDB 的数据存储方法也有所区别:

Myisam:表、数据和索引全部单独分开存储;

InnoDB:只有表结构,数据全部存储到ibd文件中。

执行如下 SQL 语句,测试 Myisam 的数据存储方式:

-- 创建 Myisam 表
create table my_myisam(
 id int
)charset utf8 engine = myisam;
-- 显示表结构
show create table my_myisam;
-- 插入数据
insert into my_myisam values(1),(2),(3);
-- 显示数据
select * from my_myisam;

登录后复制

1

如上图所示,我们创建了名为my_myisam,存储引擎为 Myisam 的数据表。为了验证 Myisam 的存储特性,我们可以到data文件夹查看具体的数据存储情况:

1

如上图所示,我们仅仅创建了一个表my_myisam,但是 Myisam 对于会生成三个存储文件,分别为:

my_myisam.frm:存储表的结构;

my_myisam.MYD:存储表的数据;

my_myisam.MYI:存储表的索引。

现在,我们将这三个文件复制到testoo数据库(至于如何找到 MySQL 数据文件的存储位置,可以参考详述查看 MySQL 数据文件存储位置的方法):

1

执行如下 SQL 语句,进行测试:

-- 切换数据库
use testoo;
-- 查看 testoo 数据库中的表
show tables;
-- 查看表 my_myisam
select * from my_myisam;

登录后复制

1

如上图所示,显然我们已经通过复制文件的方式,完成了数据表的备份工作。

在这里,有一点需要我们注意,那就是:我们可以将通过 InnoDB 存储引擎产生的.frm和.idb文件复制到另一个数据库,也可以通过show tables命令查看复制过来的表名称,但是却无法获得数据。

1

执行如下 SQL 语句,进行测试:

-- 查看 testoo 数据库中的表
show tables;
-- 查看表 my_class
select * from my_class;

登录后复制

1

通过以上测试,显然数据表备份这种备份方式更适用于 Myisam 存储引擎,而且备份的方式也很简单,直接复制 Myisam 存储引擎产生的.frm、.MYD和.MYI三个存储文件到新的数据库即可。

温馨提示:符号[]括起来的内容,表示可选项;符号+,则表示连接的意思。

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!