精品人妻无码一区二区三区软件 ,麻豆亚洲AV成人无码久久精品,成人欧美一区二区三区视频,免费av毛片不卡无码

您現(xiàn)在的位置是:首頁計算機(jī)網(wǎng)絡(luò)論文

計算機(jī)數(shù)據(jù)庫管理論文范文

發(fā)布時間: 1

  迅速發(fā)展的計算機(jī)技術(shù)將人們帶入具有信息化社會特征的21世紀(jì),在這樣一個全新的環(huán)境下,人們的生活、工作都越來越離不開信息系統(tǒng)。與此同時,侵入計算機(jī)系統(tǒng)、計算機(jī)財產(chǎn)犯罪等計算機(jī)犯罪現(xiàn)象也日益增多,而信息系統(tǒng)中價值高、重要的信息也面臨著嚴(yán)峻的安全問題,因而信息系統(tǒng)的安全性以及數(shù)據(jù)庫對并發(fā)時間的處理和控制能力都越來越受到社會的關(guān)注,系統(tǒng)信息的安全性保證已經(jīng)是信息安全研究中必須要考慮的問題。

  摘要:數(shù)據(jù)庫系統(tǒng)作為信息系統(tǒng)中的基礎(chǔ)軟件,其安全性問題十分重要,尤其是對于并發(fā)事件的控制和處理。該文通過對于MySQL數(shù)據(jù)庫系統(tǒng)的詳細(xì)作用功能闡述,對其性能功能進(jìn)行詳細(xì)的研究后,利用ODBCAPI和MySQL自帶的CAPI函數(shù)來實現(xiàn)MySQL數(shù)據(jù)庫功能調(diào)用,使得其能夠出現(xiàn)并發(fā)事件時,能快速有效的進(jìn)行數(shù)據(jù)庫的數(shù)據(jù)控制和處理。

  關(guān)鍵詞:MySQL數(shù)據(jù)庫,并發(fā)事件,數(shù)據(jù)控制

  1MySQL數(shù)據(jù)庫系統(tǒng)

  SQL數(shù)據(jù)庫具有速度快、健壯、支持多用戶使用以及操作性強(qiáng)等特點,并具有通過客戶機(jī)/為各種操服務(wù)器結(jié)構(gòu)的形式為操作系統(tǒng)提供關(guān)系數(shù)據(jù)庫系統(tǒng)的功能,是一種公布形式的數(shù)據(jù)庫管理形式。若干不同的庫和客戶端以及一個服務(wù)器守護(hù)程序MySQLd構(gòu)成了MySQL的基本組成結(jié)構(gòu),多個應(yīng)用程序都可以通過它得到編程接口,也因此使各種將客戶端應(yīng)用程序的開發(fā)變得更為便利。

  由服務(wù)器管理的數(shù)據(jù)庫和表以層次結(jié)構(gòu)方式存放在Datadir中,Windows文件系統(tǒng)和UNIX操作系統(tǒng)的樹形結(jié)構(gòu)都可以將這種層次結(jié)構(gòu)表示出來:(1)數(shù)據(jù)庫中的表格與數(shù)據(jù)庫中的目錄中的文件相對應(yīng),并能夠在數(shù)據(jù)庫目錄下形成格式描述文件,即FRM,數(shù)據(jù)文件.MYO和索引文件。這三個文件都用來存放數(shù)據(jù)庫中的每一個表格。(2)每個數(shù)據(jù)庫目錄下的一個目錄與這個數(shù)據(jù)庫相對應(yīng)并以數(shù)據(jù)庫名存放在Datadir之下。

  2MySQL安全機(jī)制

  由于數(shù)據(jù)庫中可能會存在于個人、企業(yè)甚至是國家至關(guān)重要的數(shù)據(jù)信息,所以數(shù)據(jù)庫的安全性也就變得至關(guān)重要,并在社會中受到越來越多的關(guān)注。與大多數(shù)數(shù)據(jù)庫開發(fā)商一樣,MySQL數(shù)據(jù)庫的開發(fā)商也在不斷改善數(shù)據(jù)庫的安全性,其安全機(jī)制因而也得到了極大的改善與提高。在目前國內(nèi)外有關(guān)MySQL數(shù)據(jù)庫安全性的文獻(xiàn)中,都提到其主要保護(hù)措施是密碼保護(hù),即在登陸數(shù)據(jù)庫時需要提供口令。設(shè)置權(quán)限系統(tǒng)的訪問控制的初衷是為了只允許通過認(rèn)證的用戶進(jìn)行訪問,從而提高數(shù)據(jù)庫的安全性。而在MySQL數(shù)據(jù)庫中,正是通過事先設(shè)置的權(quán)限表來控制訪問數(shù)據(jù)庫的客戶機(jī)。

  2.1訪問控制

  MySQL的安全機(jī)制較為簡單但也十分有效,經(jīng)過認(rèn)證的有權(quán)訪問的用戶在經(jīng)MySQL數(shù)據(jù)庫管理員的允許可以對數(shù)據(jù)庫中的記錄進(jìn)行查詢,這就是MySQL數(shù)據(jù)庫的安全性職責(zé)。這種形式的保護(hù)既包括內(nèi)部保護(hù)也包括外部保護(hù)。

  2.2MySQL內(nèi)部安全機(jī)制

  MySQL的內(nèi)部安全機(jī)制中最需要考慮的問題是要考慮到文件系統(tǒng)的級別,這也正是其中最主要的一個問題。運(yùn)用這一安全機(jī)制可以有效防止具有運(yùn)行MySQL服務(wù)器權(quán)限的用戶供給MySQL的數(shù)據(jù)目錄。然而,要是MySQL數(shù)據(jù)庫管理人員并不嚴(yán)格按照要求對MySQL數(shù)據(jù)目錄中的文件進(jìn)行授權(quán)的話,就會導(dǎo)致這些文件之間的嘴硬出現(xiàn)簡單的替換。一旦出現(xiàn)此類情況,MySQL內(nèi)部的安全機(jī)制就無法再為客戶的授權(quán)提供正確控制的保證。

  因而,在用操作系統(tǒng)的權(quán)限對文件系統(tǒng)進(jìn)行權(quán)限設(shè)置的過程中,需要嚴(yán)格按照規(guī)定要求,并要由特定的MySQL管理小組對MySQL用戶進(jìn)行專門的管理,從而保證每個數(shù)據(jù)目錄都僅有一名用戶有權(quán)對它進(jìn)行訪問。

  2.3MySQL外部安全機(jī)制

  設(shè)置MySQL授權(quán)表可以阻止客戶對MySQL服務(wù)器的攻擊,并保證只有合法的系統(tǒng)用戶才具有數(shù)據(jù)庫中數(shù)據(jù)的訪問權(quán)限的機(jī)制,被稱為MySQL外部安全機(jī)制。

  在MySQL的數(shù)據(jù)庫授權(quán)表中,具有user,db,tablespriv,hosty以及solumnspriv等多種形式的表格。當(dāng)MySQL系統(tǒng)首次進(jìn)行安裝時,這些授權(quán)表格就會進(jìn)行初始化過程。而在通過網(wǎng)絡(luò)而鏈接到此MySQL服務(wù)器的所有客戶機(jī)都將有權(quán)限通過對這些授權(quán)表格的控制而訪問MySQL數(shù)據(jù)庫。

  在user表格中,清晰地列明了有權(quán)訪問此服務(wù)器的用戶及其相對應(yīng)的密碼,并對這些用戶的權(quán)限做出了清楚的說明。User表格中的權(quán)限屬于全局權(quán)限,并在整個數(shù)據(jù)庫匯總都具有其作用。

  db表格對所有的數(shù)據(jù)庫以及每個數(shù)據(jù)庫的有權(quán)訪問用戶都做了說明,而db表格中的權(quán)限適用于數(shù)據(jù)庫中的所有的表。

  host表在使用時往往與db表格進(jìn)行聯(lián)合,在更高的級別上管理和控制特定客戶機(jī)的訪問權(quán)限,它使用時較為自由,不會受到GRANT以及REVOKE或其他形式的語句的影響。

  tablesprive表具有制定數(shù)據(jù)庫中表的權(quán)限的功能,其中制定的權(quán)限使用于整個表中的任何列。

  Columnsprive表則對數(shù)據(jù)庫中的每一列的權(quán)限進(jìn)行指定。其中制定的權(quán)限只對該表中的某一列適用。

  此外,授權(quán)表的列具有確定用戶權(quán)限的權(quán)限列和確定某權(quán)限有效時間的范圍的兩種類型,對于表和數(shù)據(jù)的權(quán)限主要有以下幾種,包括可以用ALTERTABLE語句,即ALTER;可以刪除數(shù)據(jù)庫和表,但是無法對索引進(jìn)行刪除,即DROP;能夠進(jìn)行數(shù)據(jù)庫和表的創(chuàng)建但不能進(jìn)行索引建立,即REATE;既能創(chuàng)建也可以刪除索引,即INDEX;可以對表中的現(xiàn)有記錄進(jìn)行刪除,即DELETE;能通過SELECT語句最表中數(shù)據(jù)進(jìn)行查詢,即SELECT;可以更改已有記錄,即UPDATE。管理權(quán)限則主要包括SHUTDOWN、FILE、GRANT、RELOAD等,即可以通過MySQLadminshutdown將服務(wù)器關(guān)閉;能夠讀寫服務(wù)器主機(jī)上的文件;可以將自己擁有的權(quán)限分給別人使用;可以對服務(wù)器的管理命令進(jìn)行執(zhí)行。在對MySQL服務(wù)器進(jìn)行訪問時,其訪問過程可以劃分為兩個階段。客戶機(jī)與服務(wù)器進(jìn)行連接是第一個階段。服務(wù)器對授權(quán)表中的user表進(jìn)行查詢,尋找符合要求的數(shù)據(jù)項,即能夠與當(dāng)前用戶名及其所提供的密碼相一致,如果找不到符合這個要求的對象連接失敗,如若找到,便可以與服務(wù)器建立成功的連接,并由此進(jìn)入到第二個階段。在第二階段中,MySQL服務(wù)器會通過授權(quán)表格對客戶機(jī)發(fā)出的命令請求進(jìn)行審核,由此確定次用戶是否有權(quán)限進(jìn)行命令請求的執(zhí)行,直至服務(wù)器與客戶機(jī)的連接斷開,這種核對才會結(jié)束。

  2.4數(shù)據(jù)庫的維護(hù)與數(shù)據(jù)庫的修復(fù)

  MySQL數(shù)據(jù)庫中對表的檢查和維護(hù)的過程主要有以下四個步驟:

  一是對發(fā)生錯誤的表進(jìn)行檢查。在對表的檢查過程中如果順利通過的話,任務(wù)就成功完成,相反,如果不能通過,那么就必須采取措施對出錯的表進(jìn)行修復(fù)。

  二是在修復(fù)出錯表之前對表進(jìn)行拷貝,備份儲存,以防止數(shù)據(jù)的丟失。

  三是對出錯的表進(jìn)行修復(fù)工作。

  四是如果無法對表進(jìn)行成功的修復(fù),就需要采用更新的日志文件和備份的數(shù)據(jù)庫對表進(jìn)行進(jìn)一步修復(fù)。

  當(dāng)數(shù)據(jù)庫進(jìn)行了數(shù)據(jù)備份和日志更新有效的前提下才能采取以上四個步驟來對數(shù)據(jù)庫進(jìn)行修復(fù)。在這兩個條件都不具備的情況下,MySQL數(shù)據(jù)庫系統(tǒng)就會面臨很大的風(fēng)險。

  2.5數(shù)據(jù)庫備份與數(shù)據(jù)庫恢復(fù)

  目前,主要有兩種常見方式可以對數(shù)據(jù)庫進(jìn)行備份。一種是可以對數(shù)據(jù)庫文件進(jìn)行直接的拷貝備份,雖然這種方式不需要MySQL系統(tǒng)的支持作為基礎(chǔ),但是它有個前提保證,就是在進(jìn)行備份的過程中不能出現(xiàn)其他用戶對被備份的數(shù)據(jù)進(jìn)行修改的情況。另一種則是通過MySQLdump程序進(jìn)行數(shù)據(jù)的備份,這種方法需要在與MySQL服務(wù)器共同運(yùn)行的前提下才能采用。而在備份數(shù)據(jù)的過程中也需要注意五方面的事項。一是要定期進(jìn)行數(shù)據(jù)的備份。二是在備份時要執(zhí)行更新日記。這樣一來,盡管我們使用的是通過備份文件進(jìn)行還原的數(shù)據(jù)庫數(shù)據(jù),但也可以通過執(zhí)行更新日記的查詢對癱瘓深刻的數(shù)據(jù)庫中的表的狀態(tài)進(jìn)行查詢。這是因為數(shù)據(jù)庫備份文件在文件系統(tǒng)的備份語言中表示完全轉(zhuǎn)儲,而更新日志則只表示增量轉(zhuǎn)儲。三是要對更新日志進(jìn)行備份,這是為了在MySQL服務(wù)器中包含數(shù)據(jù)庫備份的磁盤驅(qū)動器也受到損壞的情況下可以采取補(bǔ)救措施。四是應(yīng)該在不同的文件系統(tǒng)中存放備份的文件和數(shù)據(jù)庫,這樣可以降低聲稱的備份文件填滿含有數(shù)據(jù)字典的文件系統(tǒng)的可能性。五是要注意對就日志文件進(jìn)行保存的數(shù)量和日志文件循環(huán)的頻率要根據(jù)為保持舊日志所提供的磁盤空間的大小和服務(wù)器的工作狀況決定。

  在MySQL服務(wù)器中的數(shù)據(jù)庫都完全毀壞的情況下,我們要盡快對數(shù)據(jù)庫進(jìn)行補(bǔ)救和恢復(fù)工作。備份文件和更新日志都是屬于這一過程。通過對文件進(jìn)行備份,對表進(jìn)行恢復(fù)并將其恢復(fù)到其該備份時候的狀態(tài)。而當(dāng)備份進(jìn)展到發(fā)生故障的時段時,其對表進(jìn)行修改的結(jié)果也會隨之丟失。但是我們依舊可以依據(jù)更新日志的內(nèi)容對數(shù)據(jù)庫表進(jìn)行修改的所有結(jié)果進(jìn)行查詢,并利用更新日志將MySQL的輸入進(jìn)行重新的查詢。

  3利用ODBCAPI實現(xiàn)MySQL數(shù)據(jù)庫功能調(diào)用

  開放式數(shù)據(jù)庫互聯(lián),即我們常說的ODBC(OpenDatabaseConnectivity),它是Windows開放性結(jié)構(gòu)的重要組成部分之一,并對數(shù)據(jù)庫制造商提供的驅(qū)動程序有較強(qiáng)的依賴性。在對ODBCAPI進(jìn)行使用的過程中,Windows的ODBC管理程序先尋找到正確的驅(qū)動程序,再給該驅(qū)動程序進(jìn)行訪問請求的傳遞,在接收到命令后,該程序就會通過SQL語言對DBMS進(jìn)行相關(guān)指示,并使其完成數(shù)據(jù)庫訪問工作。在Windows下,在安裝ODBC數(shù)據(jù)庫的前提下,多種數(shù)據(jù)庫都可以通過ODBC進(jìn)行數(shù)據(jù)庫連接以達(dá)到訪問它們的數(shù)據(jù)的目的。

  MySQL數(shù)據(jù)庫制造商也為其提供了相應(yīng)的ODBC驅(qū)動程序,myodbc-2.50.31-win95是它至今為止最新的版本。通過ODBCAPI,在WIN98環(huán)境中它可以利用編程語言進(jìn)行ODBC所支持的各項操作。即便是在各種數(shù)據(jù)庫被ODBC屏蔽的情況下,一些其他程序也可以通過ODBC進(jìn)行對MySQL數(shù)據(jù)庫的各項操作?梢姡琌BDC有助于提高程序?qū)?shù)據(jù)庫的通用性。

  4利用MySQL自帶的CAPI函數(shù)實現(xiàn)數(shù)據(jù)庫功能調(diào)用

  各個數(shù)據(jù)庫間存在的差異導(dǎo)致它們提供的數(shù)據(jù)庫的功能間也存在極大的差異。如此一來,即便是通過ODBCAPI也無法使一個系統(tǒng)具備所有數(shù)據(jù)庫都具有的數(shù)據(jù)庫功能,從而對程序?qū)?shù)據(jù)庫的控制能力產(chǎn)生負(fù)面影響,也使數(shù)據(jù)庫的能力無法得到充分的發(fā)揮。且損失效能力是這種統(tǒng)一的接口的前提,這都在一定程度上導(dǎo)致了數(shù)據(jù)庫操作時間的延長。因而,解決這些問題已是刻不容緩的事情。MySQL的制造商也認(rèn)識到了解決這一問題的重要性,數(shù)據(jù)庫不僅提供ODBC驅(qū)動程序,還提供各種編程環(huán)境下的API,CAPI也包括其中。實踐證明,這些API函數(shù)可以充分發(fā)揮數(shù)據(jù)庫的能力,從而減少數(shù)據(jù)庫操作所需要的延長時間,但是它卻也帶來了不良的影響,即對程序的通用性造成了嚴(yán)重的影響。

  一組函數(shù)和一組運(yùn)用于函數(shù)的數(shù)據(jù)類型共同構(gòu)成了MySQL數(shù)據(jù)庫提供的一整套CAPI函數(shù)。CAPI函數(shù)可以在這些函數(shù)與MySQL服務(wù)器進(jìn)行通信和數(shù)據(jù)訪問的過程中對數(shù)據(jù)庫進(jìn)行直接操控,從而有效地提高操控的效能。

  行集、查詢返回結(jié)果集、字段信息、數(shù)據(jù)庫連接句柄、字段表的偏移量、自定義的無符號整型數(shù)等都是CAPI數(shù)據(jù)的類型,即MYSQLROW、MYSQLRES、MYSQLFIELD、MYSQ、MYSQLFIELDOFFSET、myulonglong。另外,MySQLconnect()、MySQLinit()、MySQLclose()、MySQLquery()、MySQLstoreresult()等函數(shù)都是CAPI提供的函數(shù),其中MySQLquery()是最為重要的函數(shù),具有完成絕大部分?jǐn)?shù)據(jù)庫操控的作用。

  參考文獻(xiàn):

  [1]李榮國,王見.MySQL數(shù)據(jù)庫在自動測試系統(tǒng)中的應(yīng)用[J].計算機(jī)應(yīng)用,2011(31):169-171.

  [2]宋國柱,陳俊杰.基于Mysql數(shù)據(jù)庫的智能DNS系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2009(24):5771-5773.

  [3]邵志遠(yuǎn),金海,唐曉輝.基于主動TCP連接復(fù)制的高性能高可用MySQL數(shù)據(jù)庫集群[J].計算機(jī)研究與發(fā)展,2005,42(6):1006-1012.


轉(zhuǎn)載請注明來自:http://www.jinnzone.com/jisuanjiwangluolw/28839.html