任务三 MySQL数据恢复
一、数据恢复的核心概念
1. 定义与本质
MySQL数据恢复是指当数据库数据遭破坏时,通过执行备份的SQL脚本文件,将数据还原到备份时状态的过程。
- 注意:恢复的是数据内容,数据库的“库”本身无法被自动恢复,若备份脚本中不含建库语句,需提前手动创建目标数据库。
- 本质:执行备份脚本中的
CREATE(建表)、INSERT(插入数据)等语句,重建表结构并导入数据。
二、核心恢复方法
1. 使用 MYSQL 命令还原数据
(1)语法格式
MYSQL -u用户名 -p[密码] [数据库名] < 备份文件名.sql
(2)关键说明
数据库名是可选项:- 若备份脚本包含
CREATE DATABASE语句,可省略该参数; - 若备份脚本不含建库语句,必须指定已存在的数据库名,否则还原失败。
- 若备份脚本包含
- 备份文件名可添加绝对路径(如
D:\stuDB_sql),确保系统能正确找到文件。
(3)操作步骤(以示例12-4为例)
- 提前创建目标数据库(若脚本不含建库语句):
mysql > CREATE DATABASE student2; - 在**Windows系统命令行(控制台)**执行还原命令:
mysql -uroot -p student2 < D:\stuDB_sql - 效果:脚本中的SQL语句自动执行,在
student2库中恢复Score表和Course表。
2. 使用 SOURCE 命令还原数据
(1)核心特点
与MYSQL命令的主要区别:SOURCE命令必须在**MySQL控制台(登录后)**执行,属于交互式恢复方式。
(2)操作步骤
- 用
mysql命令连接数据库,进入MySQL控制台。 - 创建目标数据库(若脚本不含建库语句)。
- 切换到目标数据库:
mysql > USE 数据库名; - 执行恢复命令:
mysql > SOURCE 备份文件名.sql;
(3)示例(以示例12-5为例)
- 创建目标库:
mysql > CREATE DATABASE student3; - 切换到目标库:
mysql > USE student3; - 执行恢复:
mysql > SOURCE D:\stuDB_sql; - 效果:与
MYSQL命令还原结果一致,在student3库中恢复目标表和数据。
三、两种恢复方法对比
| 恢复方法 | 执行环境 | 适用场景 | 核心优势 |
|---|---|---|---|
MYSQL命令 | 系统命令行(Windows控制台) | 批量恢复、脚本化自动化恢复 | 无需登录MySQL,适合运维脚本集成 |
SOURCE命令 | MySQL控制台(需登录) | 交互式恢复、临时手动恢复 | 操作直观,可在数据库会话中直接执行 |
四、关键注意事项
- 提前创建目标库:若备份脚本不含
CREATE DATABASE语句,两种方法都需要先手动创建目标数据库,否则还原失败。 - 路径正确性:备份文件的路径建议使用绝对路径(如
D:\stuDB_sql),避免因相对路径错误导致无法找到文件。 - 权限验证:执行还原的用户需具备目标数据库的创建、表操作等权限。