版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子课件数据库原理及应用教程(基于Linux的MySQL和NoSQL应用)第15章第15章MySQL数据库备份与还原数据库原理及应用教程(基于Linux的MySQL和NoSQL应用)CONTENTS备份与还原概述1通过文件备份和还原23小结4通过命令MySQLdump备份还原备份与还原概述115.1 备份与还原概述为保证数据库的可靠性和完整性,数据库管理系统通常会采取各种有效的措施来进行维护。尽管如此,在数据库的实际使用过程中,仍然存在着一些不可预估的因素,会造成数据库运行事务的异常中断:计算机硬件故障计算机软件故障病毒人为误操作自然灾害盗窃面对这些可能的因素会造成数据丢失或被破坏的风险,数据
2、库系统提供了备份和恢复策略来保证数据库中数据的可靠性和完整性。15.1 备份与还原概述数据库备份是指通过导出数据或者拷贝表文件的方式来制作数据库的副本。数据库的恢复(也称为数据库的还原)是将数据库从某一种“错误”状态(如硬件故障、操作失误、数据丢失、数据不一致等状态)恢复到某一已知的“正确”状态。数据库的恢复是以备份为基础的,它是与备份相对应的系统维护和管理操作。在MySQL数据库中具体实现备份数据库的方法可以分为以下几种:1、完全备份将数据库中的数据及所有对象全部备份2、表备份仅将一张或多张表中的数据进行备份,可以使用select into outfile 或backup table语句,只
3、提取数据库中的数据,而不备份表的结构和定义。15.1 备份与还原概述3、增量备份在某次完全备份的基础上,只备份其后数据的变化。可用于定期备份和自动恢复。通过文件备份和还原215.2 通过文件备份和还原由于MYSQL服务器中的数据文件是基于磁盘的文本文件,所以最简单、最直接的备份操作就是把数据库文件直接复制出来。具体操作:先执行FLUSH TABLES语句将所有数据写入到数据文件的文本文件中。再停止MySQL数据库服务器虽然停止MySQL数据库服务器,可以解决复制数据库文件实现数据备份的问题,但是这种方法不是最好的备份方法。这是因为实际情况下,MySQL数据库服务器不允许被停止,同时该方式对In
4、noDB储存引擎的表不适合,只适合MyISAM引擎。通过命令MySQLdump备份还原315.3.1 备份1、使用MySQL客户端实用程序2、使用MySQLdump程序备份数据MySQLdump程序可以备份数据库表的结构,还可以备份一个数据库,甚至整个数据库系统,只需在MySQL客户端实用程序的运行界面中输入MySQLdump -help命令,即可查看到MySQLdump程序对应的命令(1)备份表MySQLdump options database tables filename15.3.1 备份(1)备份表MySQLdump options database tables filename【
5、例15-1】使用MySQLdump备份数据库MySQL_test中的表customers。MySQLdump -hlocalhost -uroot -p153456 MySQL_test customers /home/root01/ database_bak/ customers.sql; 命令成功执行完毕后,会在指定的目录/home/root01/ database_bak下生成一个表customers的备份文件customers.sql,该文件中存储了创建表customers的一系列SQL语句以及该表中所有的数据。15.3.1 备份(2)备份数据库MySQLdump options da
6、tabases options db1 db2 db3 . filename【例】备份数据库MySQL_test和数据库MySQL到/home/root01/ database_bak目录下。MySQLdump -hlocalhosturoot -p153456 databases MySQL_test MySQL /home/root01/ database_bak/data.Sql ; 会在指定的目录/home/root01/ database_bak下生成一个包含两个数据库MySQL_test和MySQL的备份文件data.sql,该文件中存储了创建这两个数据库及其内部数据表全部SQL语
7、句以及两个数据库中所有的数据。15.3.1 备份(3)备份整个数据库系统MySQLdumpoptions - -all-databasesoptions filename ; 【例15-2】备份MySQL服务器上所有数据库。MySQLdump -u root -p153456 -all-databases /home/root01/ database_bak/alldata.Sql ; 可以在MySQLdump命令中使用“tab=”选项来分开数据和创建表的SQL语句。15.3.1 备份(3)备份整个数据库系统MySQLdumpoptions - -all-databasesoptions fi
8、lename ; 【例15-3】将数据库 MySQL_test中所有表的表的结构和数据分别备份到/home/root01/ database_bak目录下MySQLdump u root p153456tab=/home/root01/ database_bak/MySQL_test ; 会在/home/root01/ database_bak目录中生成4个文件,分别是customers.txt, customers.sql, customers_copy.txt和customuers_copy.sql.15.3.2 还原1、使用MySQL命令将MySQLdump程序备份的文件中全部的SQL语
9、句还原到MySQL中【例15-4】假设数据库MySQL_test遭遇损坏,试用该数据库的备份文件MySQL_test.sql将其恢复。 MySQL u root p153456 MySQL_test MySQL_test.sql ; 【例15-5】假设数据库MySQL_test中表customers的表结构被损坏,试将存储表customers结构的备份文件customers.Sql恢复到服务器中,其中该备份文件存放在Linux的/home/root01/ database_bak目录中。MySQL u root p153456 customers /home/root01/ database_
10、bak/ customers.Sql ; 15.3.2 还原2、使用MySQLimport程序恢复数据【例15-6】 使用存放在/home/root01/ database_bak目录下的备份数据文件customers.txt,恢复数据库MySQL_test中表customers的数据。MySQLimport hlocalhost -uroot -p153456 low-priority replace MySQL_test /home/root01/ database_bak /customers.Txt ;MySQLimportoptionsdatabase textfile. ; 15.
11、4 表的导入和导出在MySQL中,可以使用select intooutfile语句把表数据导出到一个文本文件中进行备份,并可使用load data.infile语句来恢复先前备份的数据。这种方法有一点不足,就是只能导出或导人数据的内容,而不包括表的结构,若表的结构文件损坏,则必须先设法恢复原来表的结构。1)导出备份语句select into.outfileselect * into outfilefile_namecharacter set charset_name export_options| into dumpfilefile_name fields terminated bystrin
12、g optionally enclosed bychar escaped bychar linesterminated bystring 15.4 表的导入和导出2)load data.infile语句load data low_priority | concurrent local infilefile_name.txt replace | ignore into table tbl_name fields terminated by string optionally enclosed by char escaped by char lines starting by string ter
13、minated by string ignore number lines (col_name_or_user_var,.) set col_name = expr,.) 15.4 表的导入和导出【例15-7】备份数据库MySQL_test中表customers的全部数据到/home/root01/ database_bak目录下一个名为backupfile.txt的文件中,要求字段值如果是字符则用双引号标注,字段值之间用逗号隔开,每行以问号为结束标志。然后,将备份后的数据导入到一个和customers表结构相同的空表cus-tomers_copy中。select * from MySQL_t
14、est.customers into outfile /home/root01/ database_bak /backupfile.txtfields terminated by . optionally enclosed by “” lines terminated by ?; 15.4 表的导入和导出【例15-7】备份数据库MySQL_test中表customers的全部数据到/home/root01/ database_bak目录下一个名为backupfile.txt的文件中,要求字段值如果是字符则用双引号标注,字段值之间用逗号隔开,每行以问号为结束标志。然后,将备份后的数据导入到一个和customers表结构相同的空表cus-tomers_copy中。load data infile /h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国跨境电商独立站流量获取策略
- 2025-2030江苏包装印刷产业数字化转型竞争态势发展前景分析报告
- 2025-2030氢燃料电池汽车配件行业市场分析项目评估报告
- 2025-2030欧洲老年人用品行业供需格局与投资收益规划研判评述
- 2025-2030欧洲生物科技领域专利技术创新保护和商业应用研究的行业报告
- 2025-2030欧洲激光手术设备产业供需探究与资金前景规划研究报告
- 2025-2030欧洲水利工程行业市场现状供需分析及投资评估策略分析研究报告
- 2025-2030欧洲智能家具制造行业市场供需分析及投资评估规划分析研究资料
- 2025-2030欧洲日用化学品行业市场供需分析及投资评估规划分析研究报告
- 2025-2030欧洲新能源汽车行业当前市场结构预估与项目融资前景调研报告
- 营销员考试题库及答案解析
- 浙江省金华市2024-2025学年九年级上学期期末科学试题(学生版)
- 教育部人文社科一般课题申报书
- 串联谐振耐压试验原理讲解
- 企业副总工作总结
- YDT 5102-2024 通信线路工程技术规范
- (正式版)DB61∕T 5002-2021 《建筑保温与结构一体化装配式温钢复合免拆模板外保温系统应用技术规程》
- 绿色工厂知识培训内容课件
- 工程创优培训课件
- 团建活动合同协议书范本
- 2025年武汉市黄陂区教育局公开招聘60名编外教师考试参考题库附答案解析
评论
0/150
提交评论