问题描述
对数据库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
结果:
表的恢复
验证是否恢复成功:
首先删除表内的所有数据,保留关系:
use jxgl;
SET SQL_SAFE_UPDATES = 0;
delete from student;
结果截图:
可以看到此时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;
结果:
从结果图可以看出,数据已经成功导入student表中。
这样就完成了对数据库中某一个表的备份与恢复:)