基于PHP的MySQL数据库备份恢复系统的研究和实现.docx

上传人:wj 文档编号:524509 上传时间:2023-04-29 格式:DOCX 页数:84 大小:1.07MB
下载 相关 举报
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第1页
第1页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第2页
第2页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第3页
第3页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第4页
第4页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第5页
第5页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第6页
第6页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第7页
第7页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第8页
第8页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第9页
第9页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第10页
第10页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第11页
第11页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第12页
第12页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第13页
第13页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第14页
第14页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第15页
第15页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第16页
第16页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第17页
第17页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第18页
第18页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第19页
第19页 / 共84页
基于PHP的MySQL数据库备份恢复系统的研究和实现.docx_第20页
第20页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于PHP的MySQL数据库备份恢复系统的研究和实现.docx

《基于PHP的MySQL数据库备份恢复系统的研究和实现.docx》由会员分享,可在线阅读,更多相关《基于PHP的MySQL数据库备份恢复系统的研究和实现.docx(84页珍藏版)》请在冰点文库上搜索。

基于PHP的MySQL数据库备份恢复系统的研究和实现.docx

摘要

摘 要

目前整个社会对计算机信息技术的依赖程度越来越高,网站以及各种基于Web的B/S型的应用系统逐渐成各个单位与内部、外界进行信息交流和共享的重要平台,其数据的规模也越来越大,内、外部数据均呈几何级增长,相关的数据便成了各个单位最重要的资产,数据的丢失或毁坏可能会带来不可估量的损失。

然而,病毒入侵、硬件故障、软件崩溃等难以预测的意外问题或者是误操作等人为因素都时刻威胁着数据的安全,因而如何保证数据的完整性和安全性便成了每个管理员都必需考虑的问题。

MySQL是一个跨平台的开源关系型数据库管理系统,目前MySQL被广泛地应用在Internet上的中小型网站及各种应用系统中。

目前备份数据库的主要方法是用Mysqldump、Mysqlhotcopy等程序备份或直接拷贝数据库文件,但是每种方法都有其缺点。

基于目前备份方法的不足,MySQL数据库备份恢复系统将采用php技术,构建B\S结构的数据库备份恢复系统。

通过IE浏览器即可实现对服务器上部署的MySQL数据库进行灵活备份恢复。

系统自动识别MySQL版本格式,然后进行备份恢复;不同编码数据库之间可直接备份与恢复,系统自动识别数据编码;备份的数据将以.php的格式文件保存,备份数据可以下载到任何机器保存,从而更大限度的保证数据安全。

MySQL数据库备份恢复系统安装在LAMP(Linux\Apache\MySQL\PHP)环境的服务器上,可实现对本服务器上的所有MySQL数据库或有选择的对某个数据库、某张数据表进行备份恢复工作,使用非常灵活方便;还可以将备份数据安全地下载保存到另外的存储设备上,恢复数据的时候也不需要考虑机器硬件的不同,数据库版本、数据编码的差异,能保证数据的安全恢复。

从而让计算机信息管理员从复杂、机械、安全性不高的传统备份恢复方式中解脱,提高工作效率和数据安全性。

关键词:

MySQL数据库,数据库备份与恢复,PHP

I

Abstract

Abstract

Atpresent,theentirecommunityisbecomingmoreandmoredependentonthecomputerinformationtechnology.ThewebsiteandvariousofapplicationsbasedonB/Sstructurebecomeanimportantplatformfortheenterprisessharingofinformationwithinternalandexternalcommunication.Astimewenton,datahasbecomethemostimportantasset,Thedatamaybelostordestroyed,thatwillcausegreatdamage.However,virusattacks,hardwarefailures,softwaremalfunctionandotherunexpectedproblemssuchasthefalseoperationorotherhumanfactorsmaythreatenthesecurityofdata,andthushowtoensuredataintegrityandsecurityhasbecomenecessarilyforeachadministrator.

MySQLisanopensourcecross-platformrelationaldatabasemanagementsystem,MySQLisnowwidelyusedinsmallandmediumsitesontheinternetandvariousofapplicationsystems.Themainmethodofthecurrentbackupdatabaseismysqldump,mysqlhotcopyandotherprocedurestobackuporcopythedatabasefiledirectly,buteachmethodhasitsshortcoming.

Basedonthecurrentshortageofbackupmethods,MySQLdatabasebackupandrecoverysystemwillusephptechnology,buildonB\Sstructure.ItcanbackupandrecoveryMySQLdatabasedeployedontheserverthroughtheIEbrowser.TheMySQLversionofthesystemwillbeidentifiedautomaticallybeforebackupandrecovery.Differenceencodeddatabasescanbedirectlybackupandrecover.Thesystemautomaticallyidentifythedatacode.Backupdatawillbestoredbyphpformatfile.Itcanbedownloadedtoanyothermachines.

MySQLdatabasebackupandrecoverysystemisinstalledontheLAMP

(Linux\Apache\MySQL\PHP)server.Youcanbackupthewholedataontheserverorselectedadatabaseoradatatables,usingveryflexiblyandconveniently.Youcanalsodownloadthebackupdataandsavetoanotherstoragedevice.Whenrestoringthedata,youdoesnotneedtoconsiderthedifferentmachinesanddifferentcoding.Sothatanadministratorwillbefreefromthecomplex,mechanical,andinsecuretraditionalmethodofbackupandrecovery.Itwillincreaseofefficiencyandsecuredata.

III

KeyWords:

MySQLdatabase,Backup,Recovery,PHP

目录

目录

VI

第一章 绪论 1

1.1选题背景及意义 1

1.2MySQL数据库备份恢复方法的国内外研究现状 2

1.3本文研究的主要内容 3

1.4本文的总体结构安排 4

第二章 相关理论和实现技术 5

2.1系统构架模式 5

2.2备份与恢复的基本概念 6

2.2.1数据安全因素分析 6

2.2.2数据库备份 6

2.2.3数据库恢复 7

2.3PHP技术 8

2.3.1PHP的特点 8

2.3.2PHP工作原理 10

2.4MySQL数据库 11

2.4.1MySQL的特性 11

2.4.2MySQL的应用 11

2.4.3MySQL存储引擎 12

2.4.4MySQL数据库的编码 13

2.5MySQL与PHP完美结合 15

2.6HTML、Javascript和CSS的技术应用 19

2.7本章小结 21

第三章 MySQL数据库备份恢复系统的需求分析 22

3.1背景介绍 22

3.2现有备份恢复方式存在的问题 25

3.3目标需求 26

3.3.1系统需求 26

3.3.2功能需求 27

3.4本章小结 27

第四章MySQL数据库备份恢复系统的设计 28

4.1系统设计原则 28

4.2系统总体功能设计 28

4.3系统功能详细设计 30

4.3.1参数设置功能 30

4.3.2备份设置管理功能 30

4.3.3备份数据库功能 31

4.3.4数据恢复 33

4.3.5备份数据管理 33

4.3.6数据库操作 34

4.4本章小结 34

第五章MySQL数据库备份恢复系统的实现 35

5.1系统开发平台 35

5.2系统运行环境的配置 35

5.3登录模块的实现 37

5.4数据备份 40

5.4.1备份参数设置 40

5.4.2数据库数据备份 45

5.5数据恢复 55

5.6备份数据文件的管理 58

5.7本章小结 67

第六章系统的运行和测试 68

6.1运行环境与测试方法 68

6.2主要功能模块的测试 69

6.2.1系统参数设置功能模块 69

6.2.2备份参数设置功能模块 70

6.2.3备份数据库功能模块 71

6.2.4备份数据管理功能模块 72

6.2.5数据恢复功能模块 73

6.3本章小结 74

第七章总结 75

致谢 76

参考文献 77

第一章绪论

第一章 绪论

1.1选题背景及意义

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。

数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。

MySQL是一个小型关系型数据库管理系统,开发者为芬兰MySQLAB公司,在2008年1月16号被Sun公司收购。

目前MySQL被广泛地应用在Internet上的中小型网站及各种应用系统中,全世界有超过10000万份的MySQL被安装用于支持高负荷的网站和其他关键商业应用,包括像亚马逊、Google、Yahoo等这样的产业领袖。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多用户为了降低总体拥有成本而选择了MySQL作为网站数据库[1]。

不论网站还是各种应用系统,数据才是主体,才是最宝贵的财富。

天灾人祸意外发生时,如何确保用户数据和资料不会因此而流失,以及如何在最短的时间内恢复正常运行,成为最重要的两大问题。

而唯有通过建立完善的备份恢复方案,才能保证数据的安全。

对于不同类型的应用系统,对数据的备份要求安全级别也有所不同。

但目前备份数据库的主要方法是用Mysqldump、Mysqlhotcopy等程序备份或直接拷贝数据库文件。

直接拷贝方法在服务器外部进行,并且必须采取措施保证没有客户正在修改将拷贝的表。

如果想用文件系统备份来备份数据库,也会发生同样的问题,如果数据库表在文件系统备份过程中被修改,进入备份的表文件主语不一致的状态,这对以后的恢复表将失去意义。

文件系统备份与直接拷贝文件的区别是对后者完全控制了备份过程,这样能采取措施确保服务器让表不受干扰。

Mysqldump比直接拷贝要慢些,Mysqldump生成能够移植到其它机器的文本文件,甚至那些有不同硬件结构的机器上。

直接拷贝文件不能移植到其它机器上,除非正在拷贝的表使用MyISAM存储格式。

ISAM表只能在相似的硬件结构的机器上拷贝。

在MySQL3.23中引入的MyISAM表存储格式解决了该问题,

1

电子科技大学硕士学位论文

因为该格式是与机器无关的,所以直接拷贝文件可以移植到具有不同硬件结构的机器上[2]。

只要满足两个条件:

另一台机器必须也运行MySQL3.23或以后版本,而且文件必须以MyISAM格式表示,而不是ISAM格式。

基于以上备份方式的不足,MySQL数据库备份恢复系统将采用php技术,构建B\S结构的MySQL数据库备份恢复系统。

通过IE浏览器即可实现对服务器上部署的MySQL数据库的灵活备份恢复。

系统自动识别MySQL版本格式,然后进行备份恢复;不同编码数据库之间可直接备份与恢复,系统自动识别数据编码;备份的数据将以.php的格式文件保存,备份数据可以下载到任何机器保存,从而更大限度的保证数据安全[3]。

MySQL数据库备份恢复系统可实现在线对本服务器上的所有MySQL数据库或有选择的某个数据库、某张数据表进行备份恢复工作,使用非常灵活方便;还可以将备份数据安全的下载保存到另外的存储设备上,恢复数据的时候也不需要考虑机器硬件的不同,数据库版本、数据编码的不同,能保证数据的安全备份恢复。

从而让计算机信息管理员从复杂、机械、安全性不高的传统备份恢复方式中解脱,提高工作效率和数据安全性。

1.2MySQL数据库备份恢复方法的国内外研究现状

备份数据库两个主要方法是用Mysqldump程序或直接拷贝数据库文件(如用cp、cpio或tar等)。

使用Mysqldump程序对MySQL数据库进行备份恢复的步骤如下[4]:

备份数据库:

1、备份前读锁定涉及的表

2、导出数据库中表的结构和数据

3、启用新的更新日志(这样可以记录备份后的数据改变为恢复数据做准备)

4、解除表的读锁

恢复备份的数据库:

1、对涉及的表使用写锁

2、恢复备份的数据

3、恢复更新日志的内容

4、启用新的更新日志

2

第一章绪论

5、解除表的写锁

基于以上备份原理,linux环境下利用crontab系统每天定时备份MySQL数据库,windows环境下则利用定时任务工具实现同样目标的数据备份[5]。

另外,国内外通常也采用第三方备份软件来实现MySQL数据库的备份恢复。

Ibbackup是Innobase公司的一个热备份工具,专门对InnoDB存储引擎进行物理热备份,此工具是收费的,并且备份恢复需耗用大量的系统资源。

Zmanda公司专门对MySQL数据库提供的数据库备份与恢复解决方案,即ZmandaRecoveryManagement(ZRM)forMySQL。

它是基于web控制台来管理所有MySQL服务器的备份和恢复操作,并且所有的MySQL数据库备份方法在ZRM里都被支持,像mysqldump、mysqlhotcopy、文件系统快照、冷备份、复制等。

针对国内外对数据库备份恢复方案的解决方案的研究,总结出目前存在的问题有:

1、备份的数据移植性差,受到服务器硬件以及操作系统类型的影响。

2、备份不能够灵活对数据库下的某个数据表进行操作。

3、对于MySQL大数据备份恢复存在不稳定性。

4、备份的数据受数据库编码以及数据库版本的影响,容易出现乱码现象。

5、备份需要服务器管理员的支持,备份需要登录服务器进行脚本编写,设置定时任务。

6、备份恢复操作复杂,需要有一定的专业基础。

7、备份恢复数据的过程需要暂停MySQL服务。

8、备份软件费用昂贵,对于中小单位不合适,而且软件操作繁琐。

1.3本文研究的主要内容

为确保MySQL备份恢复系统在实际应用中顺利有效运行,本文遵守数据备份恢复的规范,备份时不影响系统的正常运行;认真研究系统的服务对象,本着方便用户对数据进行备份恢复的宗旨,备份恢复系统结构简洁,便于操作,有很强的灾难备份功能;详细进行MySQL备份恢复系统的需求分析,并确定系统实现功能模型构造及总体设计。

通过分析和研究系统功能模块,结合PHP相关开发技术,提出了整体的实现方案。

3

电子科技大学硕士学位论文

1.4本文的总体结构安排

全文共分六章。

第一章:

绪论。

简要介绍了选题背景和意义,然后介绍了论文的总体结构。

第二章:

相关理论及实现技术。

研究了开发MySQL数据库备份恢复系统时

所需的相关技术,如B/S技术、PHP的有关技术、MySQL数据库系统等。

第三章:

MySQL数据库备份恢复系统的详细需求分析、全面系统功能分析。

第四章:

MySQL数据库备份恢复系统的设计。

分析部分包括系统需求分析、

体系模式分析、功能模块分析等,并主要对各个功能模块设计作详细的介绍。

第五章:

MySQL数据库备份恢复系统的实现。

该系统共分六个功能模块,

对主要功能模块中的关键环节,详细地阐述了所用到的主要技术和实现过程,对在系统开发过程中遇到的特殊问题也给出了相应的解决方案,列出了部分关键代码。

第六章:

MySQL数据库备份恢复系统的运行和测试。

采用黑盒测试法对系统的各个功能模块进行了测试。

第七章:

总结。

对论文的主要工作成果进行了总结,提出了改进的方向,并对进一步的功能实现进行了展望。

4

第二章相关理论和实现技术

第二章相关理论和实现技术

数据备份恢复系统,必须面向广大系统管理员的数据管理需求,提供方便灵活的数据管理功能,具有高可靠性、安全性和可维护性,并具备可扩展的业务框架和标准的接口,因此开发本MySQL备份恢复系统就需要选择高通用性、跨平台的主流技术平台、适合Internet访问的系统构架和通用的系统设计规范。

2.1系统构架模式

随着计算机技术和网络技术的发展,计算机信息系统的构架模式,逐渐由主机—终端模式、C/S模式演进到目前的B/S模式和Web架构模式[6]。

1.主机—终端模式:

是大型主机的结构。

它是计算机信息系统开始网络化,实现信息共享的一种早期解决方案。

由于此模式完全依赖于主机服务器的性能,且受到服务器与终端间带宽影响,所以对程序的大规模应用支持较弱,且很难实现跨硬件和跨平台的信息共享。

2.C/S(Client/Server)模式:

即客户机和服务器结构。

通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的资源开销。

比起主机—终端模式,这种模式使得整个系统的负载在客户和服务器间得到合理分配,使大规模、网络化的应用成为可能。

但C/S模式的缺点在于:

在特定的应用中无论是Client端还是Server端都需要特定的软件支持,且C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,造成C/S模式在大规模的网络运用中存在软件更新代价高、效率低的缺陷。

3.B/S(Browser/Server)模式:

即浏览器和服务器结构。

它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。

在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层构架。

这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

B/S模式与传统的C/S模式相比,具有良好的开放性,用户可以在任何地方使用系统,而且用户还可以跨平台以相同的浏览器界面访问系统。

5

电子科技大学硕士学位论文

2.2备份与恢复的基本概念

总的来说,备份以及恢复包括了为预防数据库的数据丢失,以及为能够重建数据而采取的任何策略与手段。

2.2.1数据安全因素分析

曾有一位计算机专家说过,系统灾难的发生,不是是否会,而是迟早的问题。

造成系统数据丢失的原因很多,有些还往往被人们忽视。

正确分析威胁系统安全的因素,能使数据的安全防护更有针对性。

一般导致系统失效的因素主要有以下方面[7]:

1.系统物理故障

主要是系统设备的运行损耗、存储介质失效、运行环境(温度、湿度、灰尘等)对计算机设备的影响、电源供给系统故障、人为的破坏等

2.系统软件设计的缺陷

现今操作系统环境和应用软件种类繁多,结构复杂。

软件设计上的缺陷也会造成系统无法正常工作。

另外,版本的升级、程序的补丁等都会对系统造成影响。

3.使用人员人为失误

由于操作不慎,使用者可能会误删除系统的重要文件,或者修改了影响系统运行的参数,以及没有按照规定要求,操作不当导致系统失灵。

4.自然灾害

首先,地理环境决定了我国具有较高的自然灾害发生率,如地震、严重的洪涝灾害等。

其次,火灾也是一大隐患,火灾的发生概率要比自然灾害高的多。

一般来讲,一个大型城市每年平均都会发生几百起火灾事故。

虽然灾害与其他因素相比发生的频率并不高,但这样的灾害只要发生一次,就会给人们带来很大的麻烦。

2.2.2数据库备份

备份(Backup)的最简单的方式就是复制数据。

对于数据库来说,需要复制的不仅仅是用户数据,还包括一些重要的数据库组件,比如控制文件、数据文件等。

6

第二章相关理论和实现技术

在发生数据丢失或应用程序错误时,可以利用备份来重新建立应用程序所需的数据与环境。

备份可以分为“物理备份”与“逻辑备份”两种类型[8]。

物理备份(PhysicalBackup),是指将数据库文件从一个位置复制到另一个位置上,需要进行备份的数据库包括数据文件、归档重做日志以及控制文件等。

物理备份就是数据库文件的复制,这是在数据库备份与恢复策略中最常使用的一种备份方式。

一般利用操作系统自带的命令和工具来制作物理备份。

逻辑备份(LogicalBackup),是利用Export(导出)、Mysqldump等工具执行SQL语句的方式将数据库中的数据读取出来,然后再写入到一个二进制文件中。

在需要恢复的时候,可以利用Import(导入)等工具从这个二进制文件中读取数据,并通过执行SQL语句的方式将他们写入到数据库中。

综合来讲,逻辑备份方式恢复的并不是操作系统物理文件,而是逻辑数据(比如,表和存储过程)。

在数据库的备份与恢复策略中,逻辑备份通常作为物理备份的一种补充方式。

和物理备份相比,通过备份导出的数据库信息和数据文件完全脱离了关系,并且可以被导入到其他的数据库,甚至运行于其它操作平台的数据库中,因此具有更大的灵活性。

2.2.3数据库恢复

数据库系统中的恢复主要是指恢复数据库本身,即在故障引起数据库瘫痪以及状态不一致之后,将数据库恢复到某个正确状态或一致状态。

从数据库理论的角度看,数据库恢复可以用一个简单的词来概括,即“冗余”。

换句话说,数据库是否能够恢复,主要取决于在系统其他位置是否冗余地保存了当前数据库的所有信息,而冗余主要是通过数据库备份来实现的。

数据库的恢复实际上包括了两个概念:

数据库修复和数据库恢复[9]。

数据库修复是指利用备份的数据库文件来替换已经损坏的数据库文件,这项操作主要是在操作系统级完成的。

数据库恢复是指利用重做日志文件的增量备份来重新建立己经丢失的数据,这项操作主要是在操作系统级别完成的。

对于发生介质损坏的数据库来说(即数据库文件丢失或损坏),通过数据库修复可

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2