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

軟考數據庫資料:MySQL數據目錄結構

 

  第三,文件系統(tǒng)的大小寫敏感性影響到你如何命名和引用數據庫和表名。如果文件系統(tǒng)是大小寫敏感的(如Unix),兩個名字my_tbl和MY_TBL是不同的表。如果文件系統(tǒng)不是大小寫敏感的(如Windows),這兩個名字指的是相同的表。如果你用一個Unix服務器開發(fā)數據庫,并且如果你有可能轉移到Windows,你應該記住這一點。

  2.5 MySQL狀態(tài)文件  
除了數據庫目錄,MySQL數據目錄還包含很多狀態(tài)文件,這些文件總結在下表中。大多數文件的缺省名從服務器主機名生成,在下表中表示為HOSTNAME。  

  表 MySQL狀態(tài)文件  
文件類型 缺省名 文件內容  
進程ID HOSTNAME.pid 服務器進程的ID  
出錯日志 HOSTNAME.err 啟動和關閉事件和出錯情況  
一般日志 HOSTNAME.log 連接/斷開事件和查詢信息  
更新日志 HOSTNAME.nnn 修改表結構級內容的所有查詢文本  

 當服務器啟動時,它將其進程ID寫入進程ID(PID)文件中,而在它關閉時,刪除該文件。PID文件是允許服務器本身被其他進程找到的工具。例如,如果你運行mysql.server,在系統(tǒng)關閉時,關閉MySQL服務器的腳本檢查PID文件以決定它需要向哪個進程發(fā)出一個終止信號。  

  出錯日志由safe_mysqld創(chuàng)建,作為服務器標準出錯輸出的重定向,它包含任何邪到stderr的消息。這意味著只有你通過調用safe_mysqld啟動服務器,出錯文件才存在(無論如何,它是一個啟動服務器的最好方法,因為如果它由于出錯而退出,safe_mysqld將重啟服務器。)。  

  一般日志和更新日志是可選的。你可以只開啟你需要的日志類型,用--log和--log-update服務器選項。  
一般日志提供服務器操作的一般信息:誰從哪里連接服務器和他們發(fā)出什么查詢。更新日志提供查詢信息,但只有修改數據庫內容的查詢。更新日志內容被寫成SQL語句,可以將它們提供給mysql客戶程序來執(zhí)行。如果你遇上崩潰,并且必須倒回備份文件,更新日志就很有用,因為你能重復執(zhí)行自崩潰時的更新,通過將更新日志反饋給服務器,這允許你將數據庫恢復到崩潰發(fā)生時的狀態(tài)。  

  下面是一個簡單的例子,信息出現在一般日志中,它是一個創(chuàng)建一個在數據庫test中表,插入一行,然后刪除表的會話:  

  990509 7:37:09 492 Connect Paul@localhost on test  
492 Query show databases  
492 Query show tables  
492 Field List tbl_1  
492 Field List tbl_2  
...  
990509 7:34:22 492 Query CREATE TABLE my_tbl (val INT)  
990509 7:34:34 492 Query INSERT INTO my_tbl values (1)  
990509 7:34:38 492 Query DROP TABLE my_tbl  
990509 7:34:40 492 Quit  
一般日志包含日期和時間、服務器進程ID、事件類型和事件信息欄目。  

  同一個會話出現在更新日志中看上去像這樣:  

  use test;  
CREATE TABLE my_tbl (val int);  
INSERT INTO my_tbl VALUES(1);  
DROP TABLE my_tbl;  
對更新日志,用--log-long-format選項獲得一個擴展形式的日志,擴展日志提供有關誰何時發(fā)出每一條查詢,這使用更多的磁盤空間,但如果你想知道誰在做什么,而不用將更新日志對照一般日志的內容找到連接事件。  

  對上面的會話,擴展更新日志產生這樣的信息:  

  # Time: 990507 7:32:42  
# User@Host: paul [paul] @ localhost []  
use test;  
CREATE TABLE my_tbl (val int);  
# User@Host: paul [paul] @ localhost []  
INSERT INTO my_tbl VALUES(1);  
# Time: 990507 7:32:43  
# User@Host: paul [paul] @ localhost []  
DROP TABLE my_tbl;   
保證你的日志文件安全并且不讓任意用戶讀取是個好主意。一般日志和更新日志都能包含諸如口令等的敏感信息,因為它們包含查詢文本。如:  

  990509 7:23:31 4 Query UPDATE user SET Password=PASSWORD("secret")  
WHERE user="root"  
對于檢查和設置數據目錄的權限,請見《MySQL安全性指南》。使數據目錄安性的指令包含下列命令:  

  % chmod 700 DATADIR  

  以擁有數據目錄的Unix用戶運行此命令。確保服務器也以此用戶運行,否則該命令不僅將其它人拒之門外,它也阻止服務器訪問你的數據庫。  

  狀態(tài)文件出現在數據目錄的頂級目錄,就象數據庫目錄,所以你可能擔心這些文件名是否與數據庫名沖突或出錯(如在服務器執(zhí)行SHOW DATABASES語句時)。答案是不。狀態(tài)和日志文件信息存儲在文件中,而數據庫是目錄,所以可執(zhí)行程序能用一個簡單的stat()調用區(qū)分它們。如果你看一下數據目錄,你可以區(qū)分狀態(tài)文件和數據庫目錄,用ls -l并檢查模式的第一個字符是一個"_"還是一個"d"。  

  你也可以簡單地看一下名字,所有狀態(tài)文件名包含一個點("."),而數據庫目錄沒有(.在數據庫名中是無效字符)。

上一頁  1 2 3 4 5  下一頁
文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。