第8章 数据库的备份与恢复教学课件PPT.pptx
《第8章 数据库的备份与恢复教学课件PPT.pptx》由会员分享,可在线阅读,更多相关《第8章 数据库的备份与恢复教学课件PPT.pptx(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、MySQL网络数据库设计与开发(第3版)2022-7-111第八章 数据库的备份与恢复MySQL网络数据库设计与开发(第3版)2022-7-112目 录情景引入任务目标任务实施010203任务小结知识拓展0405MySQL网络数据库设计与开发(第3版)2022-7-113小李配合导师开发的学生成绩管理系统已经进入调试与试运行阶段了。在系统调试过程中,小李发现尽管对数据库进行了严格的用户管理和权限管理,减少了人为误操作导致的数据丢失和恶意破坏,但还是不能完全保证数据库的安全性和完整性。为了保证MySQL数据库更加安全,小李想给数据库制作一个副本,在数据遭到破坏时,能够使用这个副本去修复数据库并恢
2、复数据。8.1情景引入MySQL网络数据库设计与开发MySQL网络数据库设计与开发(第3版)2022-7-1148.1情景引入小李想要完成MySQL数据库的备份与恢复操作,建议了解以下内容。1数据备份:及时对数据库进行备份,以防万一。2数据恢复:当数据库受到破坏时,及时将备份的数据进行数据库恢复,从而保障数据库中数据的正确性。3表数据的导入与导出:在MySQL数据库文件与其他格式的文件之间实现数据的导入与导出。MySQL网络数据库设计与开发(第3版)2022-7-1151.知识目标2.能力目标3.素质目标8.2任务目标MySQL网络数据库设计与开发MySQL网络数据库设计与开发(第3版)202
3、2-7-116知识目标1掌握数据备份的方法。2掌握数据还原的方法。3掌握导入和导出文本文件的方法8.2任务目标MySQL网络数据库设计与开发(第3版)2022-7-117能力目标1能使用mysql命令对数据库进行备份。2能使用mysql命令对数据库进行还原。3能使用mysql命令在数据库文件与文本文件之间进行导入、导出操作。8.2任务目标MySQL网络数据库设计与开发(第3版)2022-7-118素质目标1具备数据安全的责任意识、规范意识及道德意识。2具备数据灾难恢复、应急处理的职业素养与能力。3具备规范操作数据库的职业素养。4具备较强的团队协作精神。8.2任务目标MySQL网络数据库设计与开
4、发(第3版)2022-7-119任务8.3.1 备份数据库任务8.3.2 还原数据库任务8.3.3 导入和导出表8.3任务实施MySQL网络数据库设计与开发MySQL网络数据库设计与开发(第3版)2022-7-1110 在数据库的操作过程中,尽管系统中采用了各种措施来保证数据库的安全性和完整性,但是硬件故障、软件错误、病毒侵入、误操作等现象仍有可能发生,导致运行事务的异常中断,影响数据的正确性,甚至破坏数据库,使数据库中的数据部分或全部丢失。因此,拥有能够恢复数据的方法对一个数据库系统来说是非常重要的。在MySQL数据库中有3种保证数据库安全的方法。 数据库备份:通过导出数据或复制表文件来保护
5、数据。二进制日志文件:保存更新数据的所有语句。 数据库复制:MySQL数据库的内部复制功能建立在两个或两个以上的服务器之间,是通过设定它们之间的主从关系来实现的。其中一个作为主服务器,其他的作为从服务器。数据库备份是最简单的保护数据的方法。8.3.1 MySQL网络数据库设计与开发(第3版)2022-7-11111使用mysqldump命令备份数据mysqldump命令可以将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的工作原理很简单,首先,检查需要备份的表的结构,在文本文件中生成一个CREATE语句;然后,将表中的所有记录转换成INS
6、ERT语句。这些CREATE语句和INSERT语句都是在还原时使用的。在还原数据时,用户可以使用其中的CREATE语句来创建表,使用其中的INSERT语句来还原数据。8.3.1 MySQL网络数据库设计与开发(第3版)2022-7-1112(1)备份一个数据库mysqldump命令备份一个数据库中的表,其基本语法格式如下:其中,dbname参数表示数据库的名称;table1和table2参数表示表的名称,若没有该参数则备份整个数据库;backupName.sql参数表示备份文件的名称,文件生成后保存在mysql数据库安装目录(mysqlmysql5.5.24bin)下,也可以在文件名里加上一个
7、绝对路径。通常将数据库备份文件的后缀名定为“.sql”。8.3.1 mysqldump -u username -p dbname table1 table2backupName.sql注意:注意:使用mysqldump命令备份的文件并非一定要求后缀名为“.sql”,备份成其他格式的文件也是一样的。例如,后缀名为“.txt”的文件。MySQL网络数据库设计与开发(第3版)2022-7-1113【例8.1】 使用mysqldump命令为root用户备份news数据库下的news表,将其备份到E盘根目录下。命令如下:在输入密码,执行完命令后,用户可以在E盘根目录下找到news.sql文件,该文件中
8、的部分内容如下:8.3.1 mysqldump -u root -p newse:news.sqlMySQL网络数据库设计与开发(第3版)2022-7-11148.3.1 - MySQL dump 10.13 Distrib 5.5.24, for Win32 (x86)- Host: localhost Database: news- - Server version 5.5.24-log/*!40101 SET OLD_CHARACTER_SET_CLIENT=CHARACTER_SET_CLIENT */;/*!40101 SET OLD_CHARACTER_SET_RESULTS=CH
9、ARACTER_SET_RESULTS */;/*此处省略掉部分内容*/- Table structure for table news-DROP TABLE IF EXISTS news;/*!40101 SET saved_cs_client = character_set_client */;/*!40101 SET character_set_client = utf8 */;MySQL网络数据库设计与开发(第3版)2022-7-11158.3.1 CREATE TABLE news ( Id int(11) NOT NULL AUTO_INCREMENT, newstype varc
10、har(21) DEFAULT NULL, title varchar(25) DEFAULT NULL, ncontent text, createpeople varchar(25) DEFAULT NULL, countnumber int(6) DEFAULT NULL, creattime datetime DEFAULT NULL, PRIMARY KEY (Id) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;/*!40101 SET character_set_client = saved_cs_client */;-
11、Dumping data for table news-MySQL网络数据库设计与开发(第3版)2022-7-11168.3.1 LOCK TABLES news WRITE;/*!40000 ALTER TABLE news DISABLE KEYS */;INSERT INTO news VALUES (1,国际新闻,社会主义,大家生活好,张三,1,2013- 12-20 00:00:00),(2,国内新闻,天气预报,又是一个好天气,xsc,0,2013-11-20 00:00:00);/*!40000 ALTER TABLE news ENABLE KEYS */;UNLOCK TABL
12、ES;/*!40103 SET TIME_ZONE=OLD_TIME_ZONE */;/*!40101 SET SQL_MODE=OLD_SQL_MODE */;/*此处省略掉部分内容*/- Dump completed on 2014-01-02 13:29:47MySQL网络数据库设计与开发(第3版)2022-7-1117文件开头记录了MySQL数据库的版本号、备份的主机名和数据库名。文件中,以“-”开头的都是SQL语言的注释;以“/*!40101”形式开头的都是与MySQL数据库有关的注释,40101是MySQL数据库的版本号。在还原数据库时,如果MySQL数据库的版本号比4.1.1高,
13、则“/*!40101”和“*/”之间的内容会被当作SQL命令来执行;如果比4.1.1版本号低,则“/*!40101”和“*/”之间的内容会被当作注释。 后面的DROP语句、CREATE语句和INSERT语句都是在还原时使用的。其中,DROP TABLE IF EXISTS news语句用来判断数据库中是否还有名为news的表,如果存在,就删除这个表;CREAT语句用来创建news表;INSERT语句用来还原所有数据。文件的最后记录了备份的时间。8.3.1 MySQL网络数据库设计与开发(第3版)2022-7-1118【例8.2】 使用mysqldump命令为root用户备份news数据库,备份
14、到E盘根目录下。命令如下:在输入密码,执行完命令后,用户可以在在输入密码,执行完命令后,用户可以在E盘根目录下找到盘根目录下找到news.sql文件。文件。8.3.1 注意:注意:由于上面的news.sql文件中没有创建数据库的语句,因此news.sql文件中的所有表和记录必须还原到一个已经存在的数据库中。在还原数据时,首先执行CREATE TABLE语句在数据库中创建表,然后执行INSERT语句向表中插入记录。mysqldump -u root -p -databases news e:news.sqlMySQL网络数据库设计与开发(第3版)2022-7-1119(2)备份多个数据库使用my
15、sqldump命令备份多个数据库,其语法格式如下:这里需要加上“-databases”这个选项,然后连接多个数据库的名称。【例8.3】 使用mysqldump命令为root用户备份test数据库和news数据库,备份到E盘根目录下。命令如下:在输入密码,执行完命令后,用户可以在E盘根目录可以找到backup.sql文件。这个文件中存储着这两个数据库的所有信息。8.3.1 mysqldump -u username -p -databases dbname1 dbname2backupname.sqlmysqldump -u root -p -databases test news e:back
16、up.sqlMySQL网络数据库设计与开发(第3版)2022-7-1120(3)备份所有数据库使用mysqldump命令备份所有数据库,其语法格式如下:【例8.4】 使用mysqldump命令为root用户备份所有数据库,备份到E盘根目录下。命令如下:在执行完命令后,用户可以在E盘根目录下找到allbackname.sql文件。这个文件中存储着所有数据库的所有信息。8.3.1 mysqldump -u username -p -all-databases e:backupname.sqlmysqldump -u root -p -all-databases e:allbackname.sqlM
17、ySQL网络数据库设计与开发(第3版)2022-7-11212直接复制整个数据库目录MySQL数据库有一种最简单的备份方法,就是将MySQL数据库中的数据库文件直接复制出来。这种方法最简单,速度也是最快的。在使用这种方法时,最好先将服务器停止。这样一来,可以保证在复制期间数据库的数据不会发生变化。如果在复制数据库的过程中还有数据写入,就会造成数据不一致。这种方法虽然简单快速,但不是最好的备份方法。因为,实际情况可能不允许停止MySQL服务器。而且,这种方法对InnoDB存储引擎的表不适用。虽然,对于MyISAM存储引擎的表,这样备份和还原很方便。但是,在还原时最好是相同版本的MySQL数据库,
18、否则可能会出现文件类型不同的情况。8.3.1 MySQL网络数据库设计与开发(第3版)2022-7-11223使用mysqlhotcopy工具快速备份如果备份时不能停止MySQL服务器,则可以采用mysqlhotcopy工具。mysqlhotcopy工具的备份方式比mysqldump命令的备份方式快。mysqlhotcopy工具是一个Perl脚本,主要在Linux操作系统下使用。mysqlhotcopy工具使用LOCK TABLES、FLUSH TABLES和cp进行快速备份。其工作原理是,首先,将需要备份的数据库加上一个读操作锁;然后,用FLUSH TABLES将内存中的数据写到硬盘上的数据
19、库中;最后,把需要备份的数据库文件复制到目标目录。其语法格式如下:8.3.1 rootloclhost# mysqlhotcopy option dbname1 dbname2backupDir/MySQL网络数据库设计与开发(第3版)2022-7-1123其中,dbname1、dbname2等参数表示需要备份的数据库的名称;backupDir参数指出备份到哪个文件夹下。这个命令的含义就是将dbname1、dbname2等数据库备份到backupDir目录下。mysqlhotcopy工具有一些常用的选项,这些选项的介绍如下。 -help:用来查看mysqlhotcopy的帮助。 -allowo
20、ld:如果备份目录下存在相同的备份文件,则将旧的备份文件名加上“_old”。 -keepold:如果备份目录下存在相同的备份文件,则不删除旧的备份文件,而是将旧的文件更名。 -flushlog:本次备份之后,将数据库的更新记录到日志中。 -noindices:只备份数据文件,不备份索引文件。 -user=用户名:用来指定用户名,可以用“-u”选项代替。 8.3.1 MySQL网络数据库设计与开发(第3版)2022-7-1124 -password=密码:用来指定密码,可以用“-p”选项代替。在使用“-p”选项时,密码与“-p”选项紧挨着,或者只使用“-p”选项,然后用交换的方式输入密码。这与登
21、录数据库时的情况是一样的。 -port=端口号:用来指定访问端口,可以用“-p”选项代替。 -socket=socket文件:用来指定socket文件,可以用“-s”选项代替。注意:虽然mysqlhotcopy工具速度快,使用起来很方便,但是mysqlhotcopy工具不是MySQL数据库自带的,需要安装Perl的数据库接口包。mysqlhotcopy工具的工作原理是将数据库文件复制到目标目录。因此,mysqlhotcopy工具只能备份MyISAM类型的表,不能用来备份InnoDB类型的表。,8.3.1 MySQL网络数据库设计与开发(第3版)2022-7-1125管理员的非法操作和计算机的故
22、障都会破坏数据库文件。当数据库遭到这些意外时,可以通过备份文件将数据库还原到备份时的状态。这样可以将损失降低到最小。1使用mysql命令还原管理员通常使用mysqldump命令将数据库中的数据备份成一个文本文件。通常这个文本文件的后缀名为“.sql”。当需要还原时,可以使用mysql命令来还原备份的数据。 备份文件中通常包含CREATE语句和INSERT语句。mysql命令可以执行备份文件中的CREATE语句和INSERT语句,通过CREATE语句来创建数据库和表,通过INSERT语句来插入备份的数据。mysql命令的基本语法如下:8.3.2 mysql -u root -p dbnameba
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第8章 数据库的备份与恢复教学课件PPT 数据库 备份 恢复 教学 课件 PPT
限制150内