实验 10 数据库的备份与还原
一、实验目的
1.理解MySQL备份的基本概念。
2.掌握各种备份数据库的方法。
3.掌握如何从备份中恢复数据。
4. 掌握数据库迁移的方法。
5. 掌握表的导入与导出的方法。
二、实验内容
1.验证性实验
2.设计性实验
三、实验步骤与实验结果
(一)验证性实验
1.使用mysqldump命令备份JXGL数据库,生成的gbak.sql文件存储在D:\mysqlbak。
mysqldump -uroot -p1234 jxgl > d:\mysqlbak\gbak.sql
2.使用mysqldump命令备份JXGL数据库中的course表和sc表,生成的cs.sql文件存储在D:\mysqlbak。
mysqldump -uroot -p1234 jxgl course sc > d:\mysqlbak\cs.sql
3.使用mysqldump命令同时备份两个数据库,具体数据库自定。
mysqldump -uroot -p1234 --databases jxgl readbook > d:\mysqlbak\grbak.sql
4.将JXGL数据库删除,分别使用mysql命令和source命令将JXGL数据库的备份文件gbak.sql恢复到数据库中。
mysql -uroot –p1234
DROP DATABASE jxgl;
CREATE DATABASE jxgl;
USE jxgl;
source d:/mysqlbak/gbak.sql
5.将数据库中的course表和sc表删除,分别使用mysql命令和source命令将备份文件cs.sql恢复到JXGL数据库中。
DROP TABLE course,sc;
source d:/mysqlbak/cs.sql
(二)设计性试验
对JXGL数据库中的score表进行备份和还原的操作。本节要求的操作如下:
1.使用mysqldump命令来备份score表。备份文件存储在D:\backup路径下。
mysqldump -uroot -p1234 jxgl score >D:\backup\score.sql
2.使用mysql命令来还原score表。
DROP TABLE score;
source d:/backup/score.sql
3.使用SELECT INTO … OUTFILE来导出score表中的记录。记录存储到D:\backup\score.txt中。
SELECT * FROM jxgl.score INTO OUTFILE 'D://backup/score.txt';
4.使用mysqldump命令,将score表的记录导出到XML文件中。这个XML文件存储在D:\backup中。
mysqldump -uroot -p1234 jxgl score >D:\backup\score.xml
四、观察与思考
1.如何选择备份数据库的方法?
答:备份方式有:
(1)mysqldump工具备份
(2)直接复制整个数据库目录(对于InnoDB存储引擎不适用)备份
(3)mysqlhotcopy工具备份,备份数据库或表最快的途径,只能运行在数据库目录所在的机器上,并且只能备份MyISAM类型的表。要使用该备份方法必须可以访问备份的表文件。
(4)mysql命令导入sql文件还原。该方式必须确保原数据库和待还原的数据库主版本号一致,并且只适用于MyISAM引擎的表。
(5)相同版本数据库之间迁移
(6)使用mysqlbinlog恢复数据选择方法:按需选择。
2.如何升级MySQL数据库?
答:适合不同操作系统的MySQL升级,大版本之间的升级。即使用mysqldump 或 mydumper 导入导出数据,实现版本的升级。
五、实验要求
按要求完成,详细记录操作步骤,书写实验报告。所有实验环节均由每位学 生独立完成,认真记录操作过程,严禁抄袭他人实验结果。
六、实验总结
通过本次实验了学习了数据库的备份和还原的方法,防止在操作中误操作导致数据的丢失。增加了数据的安全性。