本文實例講述了MySQL重定位數據目錄的實現方法。分享給大家供大家參考。具體方法如下:
MySQL允許重定位數據目錄或其中的成員,這裡就來介紹重定位MySQL數據目錄的方法,對此方面感興趣的朋友不妨看一下。
重定位MySQL數據目錄
MySQL數據目錄結構是缺省配置,所有數據庫和狀態文件均包含其中,然而,你有某些自由決定數據目錄內容的位置,這裡討論為什麼你可能移走部分數據目錄(或甚至目錄本身)、你能移走什麼以及你如何做這些改變。
MySQL允許你重定位數據目錄或其中的成員,由幾個原因你為什麼要這樣做:
你能將MySQL數據目錄放在你缺省所在的文件系統更大容量的文件系統上。
如果你的MySQL數據目錄在一個繁忙的硬盤上,你可能把它放在不太忙的磁盤上以均衡磁盤活動。你可以把數據庫和日志文件放在分開的磁盤上或跨磁盤分布。
你可能想運行多個服務器,各自有自己的數據目錄,這是解決每個進程文件描述符限制問題的一種方法,特別是你不能重新配置內核以允許更高的限制。
有些系統在例如/var/run中保存服務器的部分文件,你可能想把MySQL的PID文件也放在那兒,為了系統操作的一致性。
MySQL數據目錄重定位方法
有兩種方法重定位MySQL數據目錄的內容:
你可以在服務器啟動時指定選項,在命令行或在一個選項文件的[mysqld]中。
你可以移走要重定位的東西,然後在原位置做一個指向新位置的符號連接。
兩種方法都不能解決你能重定位的一切,下表總結了什麼能重定位和用哪種方法重定位。如果你使用選項文件,有可能在全局選項文件/etc/my.cnf(Windows上的c:\my.cnf)指定選項。當前的Windows版本也尋找系統目錄(c:\Windows或c:\NT)。
表重定位方法
重定位方法 適用的重定位方法
整個數據目錄 啟動選項或符號連接
單個數據庫目錄 符號連接
單個數據庫表 符號連接
PID文件 啟動選項
一般日志 啟動選項
更新日志 啟動選項
你也可以使用缺省數據目錄中的選項文件my.cnf,但不推薦使用該文件。如果你想重定位數據目錄本身,你不得不讓缺省數據目錄可讀以便使你能在這裡放置選項文件指定服務器應該在哪裡找到“真正”的數據目錄!這很混亂。如果你想使用一個選項文件指定服務器選項,最好使用/etc/my.cnf。
希望本文所述對大家的MySQL數據庫程序設計有所幫助。