概述
数据库的备份与恢复
- 实验内容
- 实验步骤及处理结果
- 思考体会
- 参考资料
实验内容
- 使用mysqldump命令备份数据库studentsdb的所有表,存于D:下,文件名为all_tables.sql。
- 在MySQL服务器上创建数据库student1,使用mysql命令将备份文件all_tables.sql恢复到数据库student1中。
- 使用mysqldump命令备份数据库studentsdb的所有表,存于D:下,文件名为s_c.sql。
- 在MySQL服务器上创建数据库student2,使用mysql命令将备份文件s_c.sql恢复到数据库student2中。
- 使用mysqldump命令将 studentsdb数据库中的grade表中的记录导出到文本文件。
- 删除数据库student1的grade表中全部记录。
使用mysqlimport命令将grade.txt文件中的数据导入到student1的grade表中。 - 使用SELECT…INTO OUTFILE语句备份studentsdb数据库中的curriculum表的数据到文本文件c.txt。要求字段之间用“|”隔开,字符型数据用双引号括起来。
- 删除数据库student1的curriculum表中全部记录。
使用LOAD DATA INFILE语句将c.txt文件中的数据导入到student1的curriculum表中。
9.使用二进制日志恢复数据库。
(1)完全备份数据库。使用mysqldump命令备份所有数据库到D:的all_db.sql。
(2)删除studentsdb数据库student_info表的所有记录。
(3)使用mysqladmin进行增量备份。
(4)使用mysql命令恢复all_db.sql文件的完全备份。
(5)使用mysqlbinlog命令恢复增量备份。
实验步骤及处理结果
粘贴SQL代码(小四号,宋体)及运行结果图
…
思考体会
参考资料
# 附 代码
MySQL服务器:Navicat
1. 使用mysqldump命令备份数据库studentsdb的所有表,存于D:下,文件名为all_tables.sql。
先转到bin文件夹 cd 路径
在CMD命令提示符窗口中执行命令。
C:>mysqldump -u root -h localhost -p studentsdb>d:all_tables.sql
2. 在MySQL服务器上创建数据库student1,使用mysql命令将备份文件all_tables.sql恢复到数据库student1中。
CREATE DATABASE student1;
然后在CMD命令提示符窗口中执行命令。
C: >mysql -u root -p student1<d:all_tables.sql
3. 使用mysqldump命令备份数据库studentsdb的所有表,存于D:下,文件名为s_c.sql。
C:>mysqldump -u root -h localhost -p studentsdb student_info curriculum>d:s_c.sql
4. 在MySQL服务器上创建数据库student2,使用mysql命令将备份文件s_c.sql恢复到数据库student2中。
在MySQL服务器上创建数据库student2
CREATE DATABASE student2;
然后在CMD命令提示符窗口中执行命令。
C:>mysql -u root -p student2<d:s_c.sql
在使用SELECT …INTO OUTFILE语句时,目标文件的路径只能是MySQL的secure_file_priv参数所指定的位置,可通过以下语句获取。
SELECT @@secure_file_priv;没有就查资料设置一下
show variables like 'secure%'
5. 使用mysqldump命令将 studentsdb数据库中的grade表中的记录导出到文本文件。
C:>mysqldump -u root -p -T "C:UserszjjDesktop数据库原理及应用环境mysql-8.0.23-winx64Uploads" studentsdb grade --lines-terminated-by=rn
#路径的最后一个不能要
6. 删除数据库student1的grade表中全部记录。
使用mysqlimport命令将grade.txt文件中的数据导入到student1的grade表中。
USE student1;
SET SQL_SAFE_UPDATES=0;
DELETE FROM grade;
然后在CMD命令提示符窗口中执行命令。
C:>mysqlimport -u root -p student1 "C:UserszjjDesktop数据库原理及应用环境mysql-8.0.23-winx64Uploadsgrade.txt" --lines-terminated-by=rn
7. 使用SELECT…INTO OUTFILE语句备份studentsdb数据库中的curriculum表的数据到文本文件c.txt。要求字段之间用“|”隔开,字符型数据用双引号括起来。
USE studentsdb;
SELECT * FROM curriculum
INTO OUTFILE 'C:UserszjjDesktop数据库原理及应用环境mysql-8.0.23-winx64Uploadsc.txt' FIELDS TERMINATED BY '|'OPTIONALLY ENCLOSED BY'"'
LINES TERMINATED BY'rn';
8. 删除数据库student1的curriculum表中全部记录。
使用LOAD DATA INFILE语句将c.txt文件中的数据导入到student1的curriculum表中。
在MySQL服务器上执行语句。
USE student1;
SET SQL_SAFE_UPDATES=0;
DELETE FROM curriculum;
LOAD DATA INFILE 'C:UserszjjDesktop数据库原理及应用环境mysql-8.0.23-winx64Uploadsc.txt' INTO TABLE student1.curriculum
FIELDS TERMINATED BY '|'OPTIONALLY ENCLOSED BY'"' LINES TERMINATED BY'rn';
9.使用二进制日志恢复数据库。
(1)完全备份数据库。使用mysqldump命令备份所有数据库到D:的all_db.sql。
C:>mysqldump -u root -h localhost -p --single-transaction --flush-logs --master-data=2 --all-databases>d:all_db.sql
(2)删除studentsdb数据库student_info表的所有记录。
在MySQL服务器上执行语句。
USE studentsdb;
SET SQL_SAFE_UPDATES=0;
DELETE FROM student_info;
(3)使用mysqladmin进行增量备份。
在CMD命令提示符窗口中执行命令。
C:>mysqladmin -u root -h localhost -p flush-logs
(4)使用mysql命令恢复all_db.sql文件的完全备份。
在CMD命令提示符窗口中执行命令。
C:>mysql -u root -p<d:all_db.sql
(5)使用mysqlbinlog命令恢复增量备份。
-- 查看当前数据库是否开启binlog
show variables like '%log_bin%';
-- 查看当前数据库binary log的位置
show master status;
-- 查看binlog日志文件有哪些
show binary logs;
-- 查看具体日志文件
show binlog events in 'binlog.000001';
在CMD命令提示符窗口中执行命令。
C:>mysqlbinlog "C:UserszjjDesktop数据库原理及应用环境mysql-8.0.23-winx64databinlog.000001" | mysql -u root -p
最后
以上就是辛勤小刺猬为你收集整理的数据库实验7---数据库的备份与恢复实验内容实验步骤及处理结果思考体会参考资料的全部内容,希望文章能够帮你解决数据库实验7---数据库的备份与恢复实验内容实验步骤及处理结果思考体会参考资料所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复