什么是MySQL数据库恢复? 我们可以想象成 “玩游戏的存档和读档”,为了不“从头再来”,我们对游戏需要进行手动存档(当然,现在很多游戏都有自动存档),然后游戏进行读档,回到应该的状态

首先,读档需要备份才行,备份是MySQL数据库恢复的基础,没有备份,谈何恢复?在有了备份的基础下,系统执行恢复操作前,先进行安全性检查,包括验证目标数据库是否存在、是否发生变更及文件兼容性,再依据备份类型执行相应的恢复策略。

接下来我将介绍如何进行MySQL数据库的“手动存档”和”读取存档“的操作。

MySQL数据库恢复里:“手动存档”叫做建立冗余数据,”读取存档"叫做利用冗余数据进行数据库恢复。

建立冗余数据:

数据转储和日志登录是建立冗余数据、保障数据库可恢复性的核心技术,二者结合使用:数据转储通过定期创建数据副本(备份)来提供恢复的基础状态,而日志文件则详尽记录了所有数据更新操作,用于重做备份后的所有有效操作或撤销未完成的事务,从而确保数据的一致性和完整性。

利用冗余数据进行数据库恢复:

专业的数据库恢复通常会使用数据库自带的完整工具(如MySQL的 mysqlbinlog, mysqlbackup;Oracle的RMAN等),而不是直接操作SQL语句。这里简单介绍一下LOAD DATA...INFILE这个SQL语句将外部文本文件快速加载到数据库表中。

1. 准备一个空表格,在Dotcpp账号下dotcpp数据库里我有一个dotcpp_user表格,记录我们的用户,其表结构如下:

dotcpp_user表结构

2. 准备一个叫dotcpp_userD文本文件,内容以SVC格式,be like:

1,"dotcpp_user01",18,"男",100,"高精度"

3.输入:

LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/DotcppProgramming/dotcpp_user.txt'
INTO TABLE dotcpp_user_copy
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';

4. 得到新表:

得到新表格

点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)