熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

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

2013-11-23 21:11:31  來源: MySQL 

    每個數據庫對應於數據目錄下的一個目錄

    在一個數據庫中的表對應於數據目錄下的文件

    數據目錄也包含由服務器產生的幾個狀態文件如日志文件這些文件提供了關於服務器操作的重要信息對管理特別在出了問題而試圖確定問題原因時很有價值例如如果某個特定查詢殺死服務器你可以通過檢查日志文件判別搗亂的查詢

    MySQL服務器怎樣提供對數據的訪問

    在數據目錄下的一切由一個單獨的實體MySQL服務器mysqld管理客戶程序絕不直接操作數據相反服務器提供數據可訪問的切入點它是客戶程序與它們想使用的數據之間的中介

    當服務器啟動時如果有需要它打開日志文件然後通過監聽網絡連接位數據目錄呈現一個網絡接口要訪問數據客戶程序建立對服務器的一個連接然後以MySQL查詢傳輸請求來執行希望的操作服務器執行每一個操作並將結果發回用戶服務器是多線程的並能服務多個同時的客戶連接然而因為修改操作一個執行一個實際效果是順序化請求以使兩個客戶決不能在同一時刻改變同一記錄

    在正常的情況下讓服務器作為數據庫訪問的唯一仲裁者提供了避免可從同時訪問數據庫表的多個進程的破壞的保證管理員應該知道有時服務器沒有對數據目錄的獨裁控制

    當你在一個單個數據目錄上運行多個服務器一般倪雲新一個服務器管理主機上的所有數據庫但是有可能運行多個服務器如果這完成提供對多個獨立數據目錄的訪問沒有相互影響的問題但喲也能啟動多個服務器並指向同一個目錄一般地這不是一個好主意如果你試圖這樣最好是你的系統提供良好的文件鎖定功能否則服務器將不能正確協作如果你將多個服務器同時寫入日志文件你也冒著你的日志文件稱為混亂的根源的風險

    在你運行isamchk和myisamchk時isamchk和myisamchk實用程序用於表的維護診錯和修復就想你想的那樣因為這些程序可以修改表內容允許它們與服務器正在操作的同時對表操作這樣能導致表損壞理解如何限制這種相互影響是很重要的這樣你不會損壞你的表

    數據目表示

    每個MySQL服務器管理的數據庫有自己的數據庫表它是數據目錄下的一個子目錄其名字與它表示的數據庫相同例如數據庫my_db對應於數據庫目錄DATADIR/my_db

[]  []  []  []  []  []  []  []  []  []  


From:http://tw.wingwit.com/Article/program/MySQL/201311/29759.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.