Mysql

Mysql(win)是否可以同時從多個驅動器獲取數據庫?

  • May 2, 2021

我的問題是,有什麼方法可以同時從不同的驅動器讀取 mysql 數據文件夾(Windows)?

例如:我有來自驅動器 C: 的 1TB 數據庫,以及來自驅動器 D: 的另外 1TB 數據庫。因此,當我啟動 mysql 時,它只會從兩個驅動器中看到兩個數據庫。

一個給定的 MySQL 實例只能使用一個數據目錄。在 datadir 下,每個 MySQL 模式都位於一個子目錄中。

例如,預設數據目錄是C:\Program Files\MySQL\MySQL Server 8.0\data.

Schema1 將在C:\Program Files\MySQL\MySQL Server 8.0\data\Schema1

Schema2 將在C:\Program Files\MySQL\MySQL Server 8.0\data\Schema2

但是,如果您可以誘使 Windows 認為該Schema2子文件夾實際上使用了物理驅動器 D: 中的儲存空間,那麼您就可以實現您想要的。

一種方法是使用mklink如下所示:https ://dev.mysql.com/doc/refman/8.0/en/windows-symbolic-links.html我更喜歡這個解決方案,因為它允許您在您的D:驅動。

第二種選擇是使用虛擬驅動器。Windows 允許您將驅動器映射到另一個驅動器的特定路徑。沒有多少 Windows 使用者使用此選項,他們更喜歡使用驅動器作為驅動器號。

https://winaero.com/create-virtual-drive-from-a-folder-in-windows-10/

所以你會使用

SUBST D: C:\Program Files\MySQL\MySQL Server 8.0\data\Schema2

閱讀我連結到的文章以獲取更多詳細資訊。

無論您使用哪種解決方案,現在 Schema2 下的文件都會自動儲存在您的物理驅動器 D: 上,並且不會佔用物理驅動器 C: 上的空間。

如果您已經創建了 Schema2 怎麼辦?所以在 C: 上已經有一個用於該模式表的子目錄。好吧,你必須做一些文件雜耍才能完成這項工作。我沒有 Windows 機器,因此無法對其進行測試或提供有關步驟的建議。

記住不要在 MySQL 伺服器服務執行時手動移動 MySQL 表。先停止服務,否則會損壞數據。在另一台伺服器上練習這種配置,而不是你的重要生產數據,並且在你嘗試任何事情之前備份整個數據庫實例。

引用自:https://dba.stackexchange.com/questions/290883