電腦上的每個 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 實例」。
啟動新的實例,並告知它使用新的選項檔案。