機器上的每個 MySQL 執行個體都應有自己的資料目錄。位置使用 --datadir=
選項指定。dir_name
有不同的方法可以為新的執行個體設定資料目錄
建立新的資料目錄。
複製現有的資料目錄。
以下討論提供有關每個方法的更多詳細資訊。
一般來說,您永遠不應該有兩個伺服器更新相同資料庫中的資料。如果您的作業系統不支援無錯誤的系統鎖定,這可能會導致令人不快的意外。如果(儘管有此警告)您使用相同的資料目錄執行多個伺服器,並且啟用了記錄,您必須使用適當的選項來指定每個伺服器唯一的日誌檔名稱。否則,伺服器會嘗試記錄到相同的檔案。
即使觀察到上述預防措施,這種設定也僅適用於 MyISAM
和 MERGE
表格,而不適用於任何其他儲存引擎。此外,在 NFS 環境中,此警告反對在伺服器之間共用資料目錄始終適用。允許多個 MySQL 伺服器透過 NFS 存取共用資料目錄是非常糟糕的主意。主要問題是 NFS 是速度瓶頸。它並非設計用於此類用途。NFS 的另一個風險是您必須設計一種方法來確保兩個或多個伺服器不會彼此干擾。通常,NFS 檔案鎖定由 lockd
精靈處理,但目前沒有任何平台可以在每種情況下 100% 可靠地執行鎖定。
建立新的資料目錄
使用此方法,資料目錄的狀態與您第一次安裝 MySQL 時相同,並且具有預設的 MySQL 帳戶集,沒有使用者資料。
在 Unix 上,初始化資料目錄。請參閱第 2.9 節「安裝後設定和測試」。
在 Windows 上,資料目錄包含在 MySQL 發行版本中
適用於 Windows 的 MySQL Zip 封存發行版本包含未修改的資料目錄。您可以將此類發行版本解壓縮到臨時位置,然後將其
data
目錄複製到您設定新執行個體的位置。Windows MSI 套件安裝程式會建立並設定安裝的伺服器使用的資料目錄,但也會在安裝目錄下建立一個名為
data
的原始「範本」資料目錄。使用 MSI 套件執行安裝後,可以複製範本資料目錄以設定其他 MySQL 執行個體。
複製現有的資料目錄
使用此方法,資料目錄中的任何 MySQL 帳戶或使用者資料都會傳輸到新的資料目錄。
停止使用資料目錄的現有 MySQL 執行個體。這必須是乾淨的關機,以便執行個體將任何擱置中的變更刷新到磁碟。
將資料目錄複製到新資料目錄應在的位置。
複製現有執行個體使用的
my.cnf
或my.ini
選項檔案。這可作為新執行個體的基礎。修改新的選項檔案,以便任何參考原始資料目錄的路徑名稱都參考新的資料目錄。此外,修改每個執行個體必須是唯一的任何其他選項,例如 TCP/IP 連接埠號碼和日誌檔。如需每個執行個體必須唯一的參數清單,請參閱第 7.8 節「在單一機器上執行多個 MySQL 執行個體」。
啟動新的執行個體,告知其使用新的選項檔案。