MySQL数据库中表的备份与还原

时间:2021-05-28 08:22:28

问题描述

对数据库jxgl中的某一个表进行备份与恢复

表的备份

use jxgl;
/*锁定数据表*/
lock tables student read;
/*导出数据到对应文件夹下*/
select * into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/student.bak' from student;
/*解锁表*/
unlock tables;

对于保存的路径可参看我的另一篇博客
MySQL报错ERROR code 1290

结果:
MySQL数据库中表的备份与还原

表的恢复

验证是否恢复成功:
首先删除表内的所有数据,保留关系:

use jxgl;
SET SQL_SAFE_UPDATES = 0;
delete from student;

结果截图:
MySQL数据库中表的备份与还原
可以看到此时student表为空,但关系仍然存在,接下来是对数据的恢复:

use jxgl;
/*为表增加一个写锁定*/
lock tables student write;
/*恢复数据*/
load data infile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/student.bak' replace into table student; 
/*解锁表*/
unlock tables; 

结果:
MySQL数据库中表的备份与还原
从结果图可以看出,数据已经成功导入student表中。

这样就完成了对数据库中某一个表的备份与恢复:)