首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

軟考數(shù)據(jù)庫(kù)資料:MySQL數(shù)據(jù)目錄結(jié)構(gòu)

   %msqladmin --port=port_name variables  

  %mysqladmin --socket=/path/to/socket variables  

  mysqladmin命令可運(yùn)行在任何你能從其連接服務(wù)器的主機(jī)上,如果你想在一個(gè)遠(yuǎn)程主機(jī)連接服務(wù)器,使用一個(gè)--host=host_name選項(xiàng):  

  %mysqladmin --host=host_name variables  

  在Windows上,你可以通過使用--pipe強(qiáng)制一個(gè)命令管道連接和--socket=pipe_name指定管道名來連接監(jiān)聽一個(gè)命令管道的NT服務(wù)器:  

  c:\\\\mysqladmin --pipe --socket=pipe_name variables  

  你可以使用ps命令查看任何正在運(yùn)行mysqld 進(jìn)程的命令行。  
試一下下列命令之一并尋找--datadir:  

  %ps axww | grep mysql BSD風(fēng)格  

  %ps -ef | grep mysqld System V風(fēng)格  

  如果你的系統(tǒng)運(yùn)行多個(gè)服務(wù)器,ps命令可能特別有用,因?yàn)槟隳荞R上發(fā)現(xiàn)多個(gè)數(shù)據(jù)目錄位置,缺點(diǎn)是必須在服務(wù)器上運(yùn)行,而且可能沒有有用的信息產(chǎn)生,除非在mysqld命令行上明確指定了--datadir選項(xiàng)。  

  如果MySQL是從一個(gè)源代碼分發(fā)安裝的,你可以檢查其配置信息確定數(shù)據(jù)目錄位置。例如,位置可從頂級(jí)Makefile中獲得,但是注意,位置是Makefile中的localstatedir值,不是datadir,而且,如果分發(fā)位于一個(gè)NFS掛載的文件系統(tǒng)并用來為多個(gè)主機(jī)構(gòu)建MySQL,配置信息反映了分發(fā)被最新構(gòu)建的主機(jī),這可能不能提供你感興趣的主機(jī)的數(shù)據(jù)目錄信息。  
如果上述方式失敗,你可以用find尋找數(shù)據(jù)庫(kù)文件,下列命令尋找“.frm”文件,它是任何MySQL安裝的一部分:  

  % find / -name ".frm" -print  

  在下文各例中,用DATADIR表示MySQL數(shù)據(jù)目錄位置。  
2、數(shù)據(jù)目錄結(jié)構(gòu)  
MySQL數(shù)據(jù)目錄包含了服務(wù)器管理的所有數(shù)據(jù)目錄,這些文件被組織成一個(gè)樹狀結(jié)構(gòu),通過利用Unix或Windows文件系統(tǒng)的層次結(jié)構(gòu)直接實(shí)現(xiàn)。  

  每個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)于數(shù)據(jù)目錄下的一個(gè)目錄。  
在一個(gè)數(shù)據(jù)庫(kù)中的表對(duì)應(yīng)于數(shù)據(jù)目錄下的文件。  
數(shù)據(jù)目錄也包含由服務(wù)器產(chǎn)生的幾個(gè)狀態(tài)文件,如日志文件。這些文件提供了關(guān)于服務(wù)器操作的重要信息。對(duì)管理特別在出了問題而試圖確定問題原因時(shí)很有價(jià)值。例如,如果某個(gè)特定查詢殺死服務(wù)器,你可以通過檢查日志文件判別搗亂的查詢。  

  2.1 MySQL服務(wù)器怎樣提供對(duì)數(shù)據(jù)的訪問  
在數(shù)據(jù)目錄下的一切由一個(gè)單獨(dú)的實(shí)體-MySQL服務(wù)器mysqld管理,客戶程序絕不直接操作數(shù)據(jù)。相反,服務(wù)器提供數(shù)據(jù)可訪問的切入點(diǎn),它是客戶程序與它們想使用的數(shù)據(jù)之間的中介。

  當(dāng)服務(wù)器啟動(dòng)時(shí),如果有需要,它打開日志文件,然后通過監(jiān)聽網(wǎng)絡(luò)連接位數(shù)據(jù)目錄呈現(xiàn)一個(gè)網(wǎng)絡(luò)接口。要訪問數(shù)據(jù),客戶程序建立對(duì)服務(wù)器的一個(gè)連接,然后以MySQL查詢傳輸請(qǐng)求來執(zhí)行希望的操作。服務(wù)器執(zhí)行每一個(gè)操作并將結(jié)果發(fā)回用戶。服務(wù)器是多線程的并能服務(wù)多個(gè)同時(shí)的客戶連接。然而,因?yàn)樾薷牟僮饕粋(gè)執(zhí)行一個(gè),實(shí)際效果是順序化請(qǐng)求,以使兩個(gè)客戶決不能在同一時(shí)刻改變同一記錄。

  在正常的情況下,讓服務(wù)器作為數(shù)據(jù)庫(kù)訪問的唯一仲裁者提供了避免可從同時(shí)訪問數(shù)據(jù)庫(kù)表的多個(gè)進(jìn)程的破壞的保證。管理員應(yīng)該知道有時(shí)服務(wù)器沒有對(duì)數(shù)據(jù)目錄的獨(dú)裁控制。  

  當(dāng)你在一個(gè)單個(gè)數(shù)據(jù)目錄上運(yùn)行多個(gè)服務(wù)器。一般倪云新一個(gè)服務(wù)器管理主機(jī)上的所有數(shù)據(jù)庫(kù),但是有可能運(yùn)行多個(gè)服務(wù)器。如果這完成提供對(duì)多個(gè)獨(dú)立數(shù)據(jù)目錄的訪問,沒有相互影響的問題,但喲也能啟動(dòng)多個(gè)服務(wù)器并指向同一個(gè)目錄。一般地,這不是一個(gè)好主意。如果你試圖這樣,最好是你的系統(tǒng)提供良好的文件鎖定功能,否則服務(wù)器將不能正確協(xié)作。如果你將多個(gè)服務(wù)器同時(shí)寫入日志文件,你也冒著你的日志文件稱為混亂的根源的風(fēng)險(xiǎn)。  
在你運(yùn)行isamchk和myisamchk時(shí)。isamchk和myisamchk實(shí)用程序用于表的維護(hù)、診錯(cuò)和修復(fù),就想你想的那樣,因?yàn)檫@些程序可以修改表內(nèi)容,允許它們與服務(wù)器正在操作的同時(shí)對(duì)表操作,這樣能導(dǎo)致表?yè)p壞。理解如何限制這種相互影響是很重要的,這樣你不會(huì)損壞你的表。  
2.2 數(shù)據(jù)目表示  
每個(gè)MySQL服務(wù)器管理的數(shù)據(jù)庫(kù)有自己的數(shù)據(jù)庫(kù)表,它是數(shù)據(jù)目錄下的一個(gè)子目錄,其名字與它表示的數(shù)據(jù)庫(kù)相同。例如數(shù)據(jù)庫(kù)my_db對(duì)應(yīng)于數(shù)據(jù)庫(kù)目錄DATADIR/my_db。  

  這種表示允許多個(gè)數(shù)據(jù)庫(kù)級(jí)的語(yǔ)句在其實(shí)現(xiàn)中十分簡(jiǎn)單。CREATE DATABASE db_name在數(shù)據(jù)目錄中創(chuàng)建一個(gè)db_name空目錄,具有只允許MySQL服務(wù)器用戶(運(yùn)行服務(wù)器的Unix用戶)的屬主和模式,這等價(jià)于下列手工在服務(wù)器主機(jī)上創(chuàng)建數(shù)據(jù)庫(kù):  

  %mkdir DATADIR/db_name  
%chmod 700 DADADIR/db_name  
用一個(gè)空目錄表示一個(gè)新數(shù)據(jù)庫(kù)的最簡(jiǎn)單方法與其它數(shù)據(jù)庫(kù)甚至為一個(gè)空數(shù)據(jù)庫(kù)創(chuàng)建大量的控制文件或系統(tǒng)文件正好相反。  

  DROP DATABASE語(yǔ)句實(shí)現(xiàn)同樣簡(jiǎn)單。DROP DATABASE db_name刪除數(shù)據(jù)庫(kù)中的db_name目錄和所有表文件,這幾乎與下列命令一樣: 

  %rm -rf DATADIR/db_name  
(差別是服務(wù)器只刪除具有已知用于表的后綴名的文件。如果你在數(shù)據(jù)庫(kù)目錄創(chuàng)建了其它文件。則服務(wù)器保留它們,而且目錄本身不被刪除。  

文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。