知名网站建设定制数据库的备份与恢复
实验内容
- 使用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服务器:Navicat1. 使用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.sql3. 使用mysqldump命令备份数据库studentsdb的所有表,存于D:\下,文件名为s_c.sql。C:\>mysqldump -u root -h localhost -p studentsdb student_info curriculum>d:\s_c.sql4. 在MySQL服务器上创建数据库student2,使用mysql命令将备份文件s_c.sql恢复到数据库student2中。在MySQL服务器上创建数据库student2CREATE 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:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\Uploads" studentsdb grade --lines-terminated-by=\r #路径的最后一个\不能要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:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\Uploads\grade.txt" --lines-terminated-by=\r7. 使用SELECT…INTO OUTFILE语句备份studentsdb数据库中的curriculum表的数据到文本文件c.txt。要求字段之间用“|”隔开,字符型数据用双引号括起来。USE studentsdb;SELECT * FROM curriculumINTO OUTFILE 'C:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\Uploads\c.txt' FIELDS TERMINATED BY '|'OPTIONALLY ENCLOSED BY'"'LINES TERMINATED BY'\r';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:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\Uploads\c.txt' INTO TABLE student1.curriculumFIELDS TERMINATED BY '|'OPTIONALLY ENCLOSED BY'"' LINES TERMINATED BY'\r';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命令恢复增量备份。-- 查看当前数据库是否开启binlogshow variables like '%log_bin%';-- 查看当前数据库binary log的位置show master status; -- 查看binlog日志文件有哪些show binary logs;-- 查看具体日志文件show binlog events in 'binlog.000001';在CMD命令提示符窗口中执行命令。C:\>mysqlbinlog "C:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\data\binlog.000001" | mysql -u root -p
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80