计算机数据库管理论文范文
所属栏目:计算机网络论文
发布时间:2014-01-09 16:24:06 更新时间:2014-01-09 16:54:05
迅速发展的计算机技术将人们带入具有信息化社会特征的21世纪,在这样一个全新的环境下,人们的生活、工作都越来越离不开信息系统。与此同时,侵入计算机系统、计算机财产犯罪等计算机犯罪现象也日益增多,而信息系统中价值高、重要的信息也面临着严峻的安全问题,因而信息系统的安全性以及数据库对并发时间的处理和控制能力都越来越受到社会的关注,系统信息的安全性保证已经是信息安全研究中必须要考虑的问题。
摘要:数据库系统作为信息系统中的基础软件,其安全性问题十分重要,尤其是对于并发事件的控制和处理。该文通过对于MySQL数据库系统的详细作用功能阐述,对其性能功能进行详细的研究后,利用ODBCAPI和MySQL自带的CAPI函数来实现MySQL数据库功能调用,使得其能够出现并发事件时,能快速有效的进行数据库的数据控制和处理。
关键词:MySQL数据库,并发事件,数据控制
1MySQL数据库系统
SQL数据库具有速度快、健壮、支持多用户使用以及操作性强等特点,并具有通过客户机/为各种操服务器结构的形式为操作系统提供关系数据库系统的功能,是一种公布形式的数据库管理形式。若干不同的库和客户端以及一个服务器守护程序MySQLd构成了MySQL的基本组成结构,多个应用程序都可以通过它得到编程接口,也因此使各种将客户端应用程序的开发变得更为便利。
由服务器管理的数据库和表以层次结构方式存放在Datadir中,Windows文件系统和UNIX操作系统的树形结构都可以将这种层次结构表示出来:(1)数据库中的表格与数据库中的目录中的文件相对应,并能够在数据库目录下形成格式描述文件,即FRM,数据文件.MYO和索引文件。这三个文件都用来存放数据库中的每一个表格。(2)每个数据库目录下的一个目录与这个数据库相对应并以数据库名存放在Datadir之下。
2MySQL安全机制
由于数据库中可能会存在于个人、企业甚至是国家至关重要的数据信息,所以数据库的安全性也就变得至关重要,并在社会中受到越来越多的关注。与大多数数据库开发商一样,MySQL数据库的开发商也在不断改善数据库的安全性,其安全机制因而也得到了极大的改善与提高。在目前国内外有关MySQL数据库安全性的文献中,都提到其主要保护措施是密码保护,即在登陆数据库时需要提供口令。设置权限系统的访问控制的初衷是为了只允许通过认证的用户进行访问,从而提高数据库的安全性。而在MySQL数据库中,正是通过事先设置的权限表来控制访问数据库的客户机。
2.1访问控制
MySQL的安全机制较为简单但也十分有效,经过认证的有权访问的用户在经MySQL数据库管理员的允许可以对数据库中的记录进行查询,这就是MySQL数据库的安全性职责。这种形式的保护既包括内部保护也包括外部保护。
2.2MySQL内部安全机制
MySQL的内部安全机制中最需要考虑的问题是要考虑到文件系统的级别,这也正是其中最主要的一个问题。运用这一安全机制可以有效防止具有运行MySQL服务器权限的用户供给MySQL的数据目录。然而,要是MySQL数据库管理人员并不严格按照要求对MySQL数据目录中的文件进行授权的话,就会导致这些文件之间的嘴硬出现简单的替换。一旦出现此类情况,MySQL内部的安全机制就无法再为客户的授权提供正确控制的保证。
因而,在用操作系统的权限对文件系统进行权限设置的过程中,需要严格按照规定要求,并要由特定的MySQL管理小组对MySQL用户进行专门的管理,从而保证每个数据目录都仅有一名用户有权对它进行访问。
2.3MySQL外部安全机制
设置MySQL授权表可以阻止客户对MySQL服务器的攻击,并保证只有合法的系统用户才具有数据库中数据的访问权限的机制,被称为MySQL外部安全机制。
在MySQL的数据库授权表中,具有user,db,tablespriv,hosty以及solumnspriv等多种形式的表格。当MySQL系统首次进行安装时,这些授权表格就会进行初始化过程。而在通过网络而链接到此MySQL服务器的所有客户机都将有权限通过对这些授权表格的控制而访问MySQL数据库。
在user表格中,清晰地列明了有权访问此服务器的用户及其相对应的密码,并对这些用户的权限做出了清楚的说明。User表格中的权限属于全局权限,并在整个数据库汇总都具有其作用。
db表格对所有的数据库以及每个数据库的有权访问用户都做了说明,而db表格中的权限适用于数据库中的所有的表。
host表在使用时往往与db表格进行联合,在更高的级别上管理和控制特定客户机的访问权限,它使用时较为自由,不会受到GRANT以及REVOKE或其他形式的语句的影响。
tablesprive表具有制定数据库中表的权限的功能,其中制定的权限使用于整个表中的任何列。
Columnsprive表则对数据库中的每一列的权限进行指定。其中制定的权限只对该表中的某一列适用。
此外,授权表的列具有确定用户权限的权限列和确定某权限有效时间的范围的两种类型,对于表和数据的权限主要有以下几种,包括可以用ALTERTABLE语句,即ALTER;可以删除数据库和表,但是无法对索引进行删除,即DROP;能够进行数据库和表的创建但不能进行索引建立,即REATE;既能创建也可以删除索引,即INDEX;可以对表中的现有记录进行删除,即DELETE;能通过SELECT语句最表中数据进行查询,即SELECT;可以更改已有记录,即UPDATE。管理权限则主要包括SHUTDOWN、FILE、GRANT、RELOAD等,即可以通过MySQLadminshutdown将服务器关闭;能够读写服务器主机上的文件;可以将自己拥有的权限分给别人使用;可以对服务器的管理命令进行执行。在对MySQL服务器进行访问时,其访问过程可以划分为两个阶段。客户机与服务器进行连接是第一个阶段。服务器对授权表中的user表进行查询,寻找符合要求的数据项,即能够与当前用户名及其所提供的密码相一致,如果找不到符合这个要求的对象连接失败,如若找到,便可以与服务器建立成功的连接,并由此进入到第二个阶段。在第二阶段中,MySQL服务器会通过授权表格对客户机发出的命令请求进行审核,由此确定次用户是否有权限进行命令请求的执行,直至服务器与客户机的连接断开,这种核对才会结束。
2.4数据库的维护与数据库的修复
MySQL数据库中对表的检查和维护的过程主要有以下四个步骤:
一是对发生错误的表进行检查。在对表的检查过程中如果顺利通过的话,任务就成功完成,相反,如果不能通过,那么就必须采取措施对出错的表进行修复。
二是在修复出错表之前对表进行拷贝,备份储存,以防止数据的丢失。
三是对出错的表进行修复工作。
四是如果无法对表进行成功的修复,就需要采用更新的日志文件和备份的数据库对表进行进一步修复。
当数据库进行了数据备份和日志更新有效的前提下才能采取以上四个步骤来对数据库进行修复。在这两个条件都不具备的情况下,MySQL数据库系统就会面临很大的风险。
2.5数据库备份与数据库恢复
目前,主要有两种常见方式可以对数据库进行备份。一种是可以对数据库文件进行直接的拷贝备份,虽然这种方式不需要MySQL系统的支持作为基础,但是它有个前提保证,就是在进行备份的过程中不能出现其他用户对被备份的数据进行修改的情况。另一种则是通过MySQLdump程序进行数据的备份,这种方法需要在与MySQL服务器共同运行的前提下才能采用。而在备份数据的过程中也需要注意五方面的事项。一是要定期进行数据的备份。二是在备份时要执行更新日记。这样一来,尽管我们使用的是通过备份文件进行还原的数据库数据,但也可以通过执行更新日记的查询对瘫痪深刻的数据库中的表的状态进行查询。这是因为数据库备份文件在文件系统的备份语言中表示完全转储,而更新日志则只表示增量转储。三是要对更新日志进行备份,这是为了在MySQL服务器中包含数据库备份的磁盘驱动器也受到损坏的情况下可以采取补救措施。四是应该在不同的文件系统中存放备份的文件和数据库,这样可以降低声称的备份文件填满含有数据字典的文件系统的可能性。五是要注意对就日志文件进行保存的数量和日志文件循环的频率要根据为保持旧日志所提供的磁盘空间的大小和服务器的工作状况决定。
在MySQL服务器中的数据库都完全毁坏的情况下,我们要尽快对数据库进行补救和恢复工作。备份文件和更新日志都是属于这一过程。通过对文件进行备份,对表进行恢复并将其恢复到其该备份时候的状态。而当备份进展到发生故障的时段时,其对表进行修改的结果也会随之丢失。但是我们依旧可以依据更新日志的内容对数据库表进行修改的所有结果进行查询,并利用更新日志将MySQL的输入进行重新的查询。
3利用ODBCAPI实现MySQL数据库功能调用
开放式数据库互联,即我们常说的ODBC(OpenDatabaseConnectivity),它是Windows开放性结构的重要组成部分之一,并对数据库制造商提供的驱动程序有较强的依赖性。在对ODBCAPI进行使用的过程中,Windows的ODBC管理程序先寻找到正确的驱动程序,再给该驱动程序进行访问请求的传递,在接收到命令后,该程序就会通过SQL语言对DBMS进行相关指示,并使其完成数据库访问工作。在Windows下,在安装ODBC数据库的前提下,多种数据库都可以通过ODBC进行数据库连接以达到访问它们的数据的目的。
MySQL数据库制造商也为其提供了相应的ODBC驱动程序,myodbc-2.50.31-win95是它至今为止最新的版本。通过ODBCAPI,在WIN98环境中它可以利用编程语言进行ODBC所支持的各项操作。即便是在各种数据库被ODBC屏蔽的情况下,一些其他程序也可以通过ODBC进行对MySQL数据库的各项操作。可见,OBDC有助于提高程序对数据库的通用性。
4利用MySQL自带的CAPI函数实现数据库功能调用
各个数据库间存在的差异导致它们提供的数据库的功能间也存在极大的差异。如此一来,即便是通过ODBCAPI也无法使一个系统具备所有数据库都具有的数据库功能,从而对程序对数据库的控制能力产生负面影响,也使数据库的能力无法得到充分的发挥。且损失效能力是这种统一的接口的前提,这都在一定程度上导致了数据库操作时间的延长。因而,解决这些问题已是刻不容缓的事情。MySQL的制造商也认识到了解决这一问题的重要性,数据库不仅提供ODBC驱动程序,还提供各种编程环境下的API,CAPI也包括其中。实践证明,这些API函数可以充分发挥数据库的能力,从而减少数据库操作所需要的延长时间,但是它却也带来了不良的影响,即对程序的通用性造成了严重的影响。
一组函数和一组运用于函数的数据类型共同构成了MySQL数据库提供的一整套CAPI函数。CAPI函数可以在这些函数与MySQL服务器进行通信和数据访问的过程中对数据库进行直接操控,从而有效地提高操控的效能。
行集、查询返回结果集、字段信息、数据库连接句柄、字段表的偏移量、自定义的无符号整型数等都是CAPI数据的类型,即MYSQLROW、MYSQLRES、MYSQLFIELD、MYSQ、MYSQLFIELDOFFSET、myulonglong。另外,MySQLconnect()、MySQLinit()、MySQLclose()、MySQLquery()、MySQLstoreresult()等函数都是CAPI提供的函数,其中MySQLquery()是最为重要的函数,具有完成绝大部分数据库操控的作用。
参考文献:
[1]李荣国,王见.MySQL数据库在自动测试系统中的应用[J].计算机应用,2011(31):169-171.
[2]宋国柱,陈俊杰.基于Mysql数据库的智能DNS系统的设计与实现[J].计算机工程与设计,2009(24):5771-5773.
[3]邵志远,金海,唐晓辉.基于主动TCP连接复制的高性能高可用MySQL数据库集群[J].计算机研究与发展,2005,42(6):1006-1012.