8 数据库的备份与恢复ppt课件数据库原理与应用 .pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《8 数据库的备份与恢复ppt课件数据库原理与应用 .pptx》由会员分享,可在线阅读,更多相关《8 数据库的备份与恢复ppt课件数据库原理与应用 .pptx(77页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、8 数据库的备份与恢复教学课件数据库原理与应用 数据库原理与应用数据库原理与应用8.1数据库备份与恢复概述数据库原理与数据库原理与应用应用3数据库原理与应用数据库原理与应用案例案例 2001年年9月月11日,当世贸中心日,当世贸中心许多大公司的商务数据在一瞬间许多大公司的商务数据在一瞬间“灰飞烟灭灰飞烟灭”时,该中心最大的主顾时,该中心最大的主顾之一摩根斯坦利却在之一摩根斯坦利却在灾后灾后的的第二天第二天就进入就进入正常工作正常工作状态。它宣称,除状态。它宣称,除了人员的不幸失踪,世贸双子楼的了人员的不幸失踪,世贸双子楼的倒塌没有给公司和客户的资产带来倒塌没有给公司和客户的资产带来重大损失重大
2、损失。一场小小的机房火一场小小的机房火灾灾,就足以就足以使使一个跨一个跨国企业的国企业的信息系统信息系统整整体体坍塌。坍塌。危机时刻,摩根斯坦利花费巨资危机时刻,摩根斯坦利花费巨资添置的添置的远程远程数据防灾系统数据防灾系统忠实地工忠实地工作到大楼倒塌前的最后一秒钟,将作到大楼倒塌前的最后一秒钟,将重要的业务信息完好无损地传送到重要的业务信息完好无损地传送到了几英里以外的另一个办事处。了几英里以外的另一个办事处。数据库原理与应用数据库原理与应用8.1.1 8.1.1 备份与恢复管理备份与恢复管理数据库的可恢复性(数据库的可恢复性(Recovery)是指)是指DBMS能把数据库从被能把数据库从被
3、破坏、不正确的状态、恢复到最近一个正确的状态。破坏、不正确的状态、恢复到最近一个正确的状态。在系统正常运行时,要做好两件事:在系统正常运行时,要做好两件事:转储转储和和建立日志建立日志。(1)定期备份数据库,将数据转储到另一个磁盘或磁带一类的)定期备份数据库,将数据转储到另一个磁盘或磁带一类的存储介质中。定期备份的时间应当在系统负载最低的时候进行。存储介质中。定期备份的时间应当在系统负载最低的时候进行。(2)建立日志文件。记录事务的开始、结束标志,将事务对数)建立日志文件。记录事务的开始、结束标志,将事务对数据库的每一次插入、删除和修改前后的值写入到日志文件中,据库的每一次插入、删除和修改前后
4、的值写入到日志文件中,以便有案可查。以便有案可查。任何对数据库中数据的修改都必须任何对数据库中数据的修改都必须先写先写入入日志日志文件,然文件,然后后再将修改再将修改写写入到入到数据库数据库。数据库原理与应用数据库原理与应用发生故障时,发生故障时,DBMS要借助日志文件做好恢复工作,常用的要借助日志文件做好恢复工作,常用的恢复方法:恢复方法:(1)REDO(重做)已提交事务的操作(重做)已提交事务的操作。当发生故障而使。当发生故障而使系统崩溃后,对那些已提交但其结果尚未真正写入到磁盘上系统崩溃后,对那些已提交但其结果尚未真正写入到磁盘上的事务要重做,使数据库恢复到崩溃时所处理的状态。的事务要重
5、做,使数据库恢复到崩溃时所处理的状态。(2)UNDO(撤消)未提交事务的操作(撤消)未提交事务的操作。系统崩溃时,那。系统崩溃时,那些未提交事务操作对数据库产生的更改必须恢复到原状,使些未提交事务操作对数据库产生的更改必须恢复到原状,使数据库只反映已提交事务的操作结果。数据库只反映已提交事务的操作结果。数据库原理与应用数据库原理与应用8.1.2 8.1.2 故障类型故障类型(1 1)可预期)可预期的事务故障的事务故障 即在事务程序中可以预先估计到的错误,程序本身解决。即在事务程序中可以预先估计到的错误,程序本身解决。1 1、事务事务故障故障BEGIN TRANSACTION 读账户甲的余额读账
6、户甲的余额balance;balance=balance-amount;IF(balance 备份文件名备份文件名.sql【例例8-1】使用】使用mysqldump命令备份数据库命令备份数据库fruitsales,存于,存于d:sqls文件夹下,文件名为文件夹下,文件名为fruitsales.sql。1.1.备份单个数据库备份单个数据库数据库原理与应用数据库原理与应用mysqldump-u 用户名用户名-h 主机名主机名-p 数据库名数据库名 表名表名 表名表名 备份文件名备份文件名.sql【例例8-2】使用】使用mysqldump命令备份数据库命令备份数据库fruitsales中的中的fru
7、its表、表、suppliers表,存于表,存于d:sqls文件夹下,文件名为文件夹下,文件名为table_f_s.sql。2.2.备份据库中某个或某些表备份据库中某个或某些表mysqldump-u root-h localhost-p fruitsales fruits suppliers d:sqlstable_f_s.sql数据库原理与应用数据库原理与应用mysqldump-u 用户名用户名-h 主机名主机名-p-databases 数据库名数据库名 数数据库名据库名 备份文件名备份文件名.sql【例例8-3】使用】使用mysqldump命令备份数据库命令备份数据库fruitsales和
8、系统样例数和系统样例数据库据库world,存于,存于d:sqls文件夹下,文件名为文件夹下,文件名为db_f_w.sql。3.3.备份多个数据库备份多个数据库mysqldump-u root-h localhost-p-databases fruitsales world d:sqlsdb_f_w.sql数据库原理与应用数据库原理与应用mysqldump-u 用户名用户名-h 主机名主机名-p-all-databases 备份文件名备份文件名.sql【例例8-4】使用】使用mysqldump命令备份所有数据库,存于命令备份所有数据库,存于d:sqls文件文件夹下,文件名为夹下,文件名为db_a
9、ll.sql。4.4.备份所有数据库备份所有数据库mysqldump-u root-h localhost-p-all-databases d:sqlsdb_all.sql数据库原理与应用数据库原理与应用8.2.2 8.2.2 使用使用mysqlmysql命令恢复数据命令恢复数据mysql-u 用户名用户名-p 数据库名数据库名 备份文件名备份文件名.sql【例例8-5】使用】使用mysql命令将命令将table_f_s.sql文件中备份的两个表文件中备份的两个表fruits和和suppliers恢复到数据库恢复到数据库fruitsales中。中。(1)若数据库)若数据库fruitsales中
10、已经存在表中已经存在表fruits和和suppliers,请使用,请使用SQL语句先将其删除,以查看恢复后的效果。语句先将其删除,以查看恢复后的效果。USE fruitsales;DROP TABLE fruits,suppliers;数据库原理与应用数据库原理与应用(2)在)在“命令提示符命令提示符”窗口中执行如下命令,完成将表窗口中执行如下命令,完成将表fruits和和suppliers恢复到数据库恢复到数据库fruitsales中。中。mysql-u root-p fruitsalesd:sqlstable_f_s.sql【注意注意】在此示例中,必须确保在】在此示例中,必须确保在MySQ
11、L服务器中已经存在服务器中已经存在命令中的数据库,如果数据库不存在,必须要先创建相应的数命令中的数据库,如果数据库不存在,必须要先创建相应的数据库,否则在数据恢复过程中会出错。据库,否则在数据恢复过程中会出错。数据库原理与应用数据库原理与应用【例例8-6】使用】使用mysql命令将命令将db_f_w.sql文件中备份的数据库文件中备份的数据库fruitsales和和world恢复到恢复到MySQL服务器上。服务器上。(1)若)若MySQL服务器上已经存在数据库服务器上已经存在数据库fruitsales和和world,请,请使用使用SQL语句先将其删除,以查看恢复后的效果。语句先将其删除,以查看
12、恢复后的效果。DROP DATABASE fruitsales;DROP DATABASE world;(2)在)在“命令提示符命令提示符”窗口中执行如下命令,完成将恢复数据库窗口中执行如下命令,完成将恢复数据库fruitsales和和world。mysql-u root-p”开始、以开始、以字符串字符串“”结尾。结尾。SELECT*FROM suppliers INTO OUTFILE C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/suppliers.txt LINES STARTING BY TERMINATED BY rn;数据库原理与应用数
13、据库原理与应用8.3.2 8.3.2 使用使用mysqldumpmysqldump命令导出表数据命令导出表数据mysqldump-u root-p-T 目标路径目标路径 数据库名数据库名 表名表名 表名表名 -fields-terminated-by=字符字符 -fields-enclose-by=字符字符 -fields-optionally-enclosed-by=字符字符 -fields-escaped-by=字符字符 -lines-terminated-by=字符串字符串 只有指定只有指定-T参数,才能导出纯文本文件。参数,才能导出纯文本文件。数据库原理与应用数据库原理与应用 导出生成
14、的文件有两个,一个是包含创建表的导出生成的文件有两个,一个是包含创建表的CREATE TABLE语句的语句的“表名表名.sql”文件,一个是包含其数据的文件,一个是包含其数据的“表名表名.txt”文文件。件。目标路径必须是目标路径必须是MySQL的的secure_file_priv参数所指定的位置。参数所指定的位置。各选项功能对应各选项功能对应“SELECT INTO OUTFILE”语句中的各对应项语句中的各对应项功能。功能。数据库原理与应用数据库原理与应用【例例8-9】使用】使用mysqldump命令将命令将fruitsales数据库中的数据库中的fruits表中的表中的记录导出到文本文件
15、。记录导出到文本文件。mysqldump-u root-p-T C:ProgramDataMySQLMySQL Server 8.0Uploads fruitsales fruits-lines-terminated-by=rn用mysqldump命令导出的fruits.txt文件数据库原理与应用数据库原理与应用【例例8-10】使用】使用mysqldump命令将命令将fruitsales数据库中的数据库中的orders表和表和orderitems表中的记录导出到文本文件。要求字段之间使用逗号表中的记录导出到文本文件。要求字段之间使用逗号“,”间隔,所有字符型字段值用双引号括起来,每行记录以回车
16、换间隔,所有字符型字段值用双引号括起来,每行记录以回车换行符行符“rn”结尾。结尾。mysqldump-u root-p-T C:ProgramDataMySQLMySQL Server 8.0Uploads fruitsales orders orderitems -fields-terminated-by=,-fields-optionally-enclosed-by=-lines-terminated-by=rn数据库原理与应用数据库原理与应用8.3.3 8.3.3 使用使用mysqlmysql命令导出表数据命令导出表数据mysql-u root-p-execute=SELECT语句语句
17、 数据库名数据库名 文件名文件名.txt-execute选项,表示执行该选项后的语句并退出,后面的选项,表示执行该选项后的语句并退出,后面的SELECT语句必须用双引号括起来。语句必须用双引号括起来。数据库名,为要导出数据的表所在的数据库名。数据库名,为要导出数据的表所在的数据库名。导出的文件中不同列之间使用制表符分隔,第一行包含各个字导出的文件中不同列之间使用制表符分隔,第一行包含各个字段的名称。段的名称。数据库原理与应用数据库原理与应用【例例8-11】使用】使用mysql命令将命令将fruitsales数据库中的数据库中的orders表中的记表中的记录导出到文本文件录导出到文本文件orde
18、rs_1.txt中。中。mysql-u root-p-execute=SELECT*FROM orders fruitsales C:ProgramDataMySQLMySQL Server 8.0Uploadsorders_1.txt数据库原理与应用数据库原理与应用【例例8-12】使用】使用mysql命令将命令将fruitsales数据库中的数据库中的orders表中的记表中的记录导出到录导出到HTML文件文件orders_2.html中。中。mysql-u root-p-html-execute=SELECT*FROM orders fruitsales C:ProgramDataMySQ
19、LMySQL Server 8.0Uploadsorders_2.htmlmysql命令中命令中使用使用:-html参数可以指定文件类型为参数可以指定文件类型为html文件文件-xml参数指定文件类型为参数指定文件类型为xml文件。文件。数据库原理与应用数据库原理与应用【例例8-13】使用】使用mysql命令将命令将fruitsales数据库中的数据库中的orders表中的表中的记录导出到记录导出到XML文件文件orders_3.xml中。中。mysql-u root-p-xml-execute=SELECT*FROM orders fruitsales C:ProgramDataMySQLM
20、ySQL Server 8.0Uploadsorders_3.xml数据库原理与应用数据库原理与应用8.3.4 8.3.4 使用使用LOAD DATA INFILELOAD DATA INFILE语句语句导入导入表数据表数据LOAD DATA INFILE 文本文件文本文件 INTO TABLE 表名表名FIELDS TERMINATED BY 字符字符 OPTIONALLY ENCLOSED BY 字符字符 ESCAPED BY 字符字符LINES STARTING BY 字符串字符串 TERMINATED BY 字符串字符串 IGNORE n LINES;数据库原理与应用数据库原理与应用
21、FIELDS和和LINES选项功能与选项功能与“SELECT INTO OUTFILE”语句语句中选项的功能相同。中选项的功能相同。IGNORE n LINES:忽略文本文件中的前:忽略文本文件中的前n条记录。条记录。使用使用“SELECT INTO OUTFILE”语句将数据从一个数据库表导语句将数据从一个数据库表导出到一个文本文件,再使用出到一个文本文件,再使用“LOAD DATA INFILE”语句从文本文语句从文本文件中将数据导入到数据库表时,两个命令的选项参数必须匹配,件中将数据导入到数据库表时,两个命令的选项参数必须匹配,否则否则“LOAD DATA INFILE”语句无法解析文本
22、文件的内容。语句无法解析文本文件的内容。【说明说明】数据库原理与应用数据库原理与应用【例例8-14】使用】使用LOAD DATA INFILE语句将【例语句将【例8-7】customers.txt文件中的数据导入到文件中的数据导入到fruitsales数据库的数据库的customers表。表。先将customers表中的数据全部删除。USE fruitsales;SET SQL_SAFE_UPDATES=0;DELETE FROM customers;SELECT*FROM customers;数据库原理与应用数据库原理与应用从customers.txt文件恢复数据。LOAD DATA INF
23、ILE C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/customers.txt INTO TABLE fruitsales.customers FIELDS TERMINATED BY|OPTIONALLY ENCLOSED BY LINES TERMINATED BY rn;SELECT*FROM customers;数据库原理与应用数据库原理与应用8.3.5 8.3.5 使用使用mysqlimportmysqlimport命令命令导入导入表数据表数据mysqlimport-u root-p 数据库名数据库名 文本文件名文本文件名.txt -f
24、ields-terminated-by=字符字符 -fields-enclose-by=字符字符 -fields-optionally-enclosed-by=字符字符 -fields-escaped-by=字符字符 -lines-terminated-by=字符串字符串 -ignore-lines=n 各选项功能对应各选项功能对应“LOAD DATA INFILE”语句中的各对应项功能。语句中的各对应项功能。-ignore-lines=n:忽略文本文件的前:忽略文本文件的前n行。行。数据库原理与应用数据库原理与应用【例例8-15】使用】使用mysqlimport命令将【例命令将【例8-9】f
25、ruits.txt文件中的文件中的数据导入到数据导入到fruitsales数据库的数据库的fruits表。表。先将fruits表中的数据全部删除。USE fruitsales;DELETE FROM fruits;从fruits.txt文件恢复数据。mysqlimport-u root-p fruitsales C:ProgramDataMySQLMySQL Server 8.0Uploadsfruits.txt -lines-terminated-by=rn8.4数据库迁移数据库原理与数据库原理与应用应用43数据库原理与应用数据库原理与应用8.4.1 8.4.1 相同版本的相同版本的MySQ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库的备份与恢复ppt课件数据库原理与应用 数据库 备份 恢复 ppt 课件 原理 应用
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内