在 Windows 上,可以使用符號連結來管理資料庫目錄。這讓您可以將資料庫目錄放置在不同的位置 (例如,不同的磁碟上),方法是建立指向它的符號連結。在 Windows 上使用資料庫符號連結與在 Unix 上使用類似,雖然建立連結的程序不同。
假設您想將名為 mydb
的資料庫的資料庫目錄放在 D:\data\mydb
。若要執行此動作,請在 MySQL 資料目錄中建立指向 D:\data\mydb
的符號連結。但是,在建立符號連結之前,請確定 D:\data\mydb
目錄存在,必要時請建立它。如果您在資料目錄中已有名為 mydb
的資料庫目錄,請將它移至 D:\data
。否則,符號連結不會有任何作用。為避免問題,請確定在移動資料庫目錄時伺服器未執行。
在 Windows 上,您可以使用 mklink 命令來建立符號連結。此命令需要管理員權限。
請確定資料庫的所需路徑存在。在此範例中,我們使用
D:\data\mydb
和名為mydb
的資料庫。如果資料庫尚不存在,請在 mysql 用戶端中發出
CREATE DATABASE mydb
來建立它。停止 MySQL 服務。
使用 Windows 檔案總管或命令列,將目錄
mydb
從資料目錄移至D:\data
,以取代同名的目錄。如果您尚未使用命令提示字元,請開啟它,並將位置變更為資料目錄,如下所示
C:\> cd \path\to\datadir
如果您的 MySQL 安裝位於預設位置,您可以使用此命令
C:\> cd C:\ProgramData\MySQL\MySQL Server 9.0\Data
在資料目錄中,建立一個名為
mydb
的符號連結,該連結指向資料庫目錄的位置C:\> mklink /d mydb D:\data\mydb
啟動 MySQL 服務。
之後,在資料庫 mydb
中建立的所有資料表都會在 D:\data\mydb
中建立。
或者,在 MySQL 支援的任何 Windows 版本上,您可以建立一個名為 .sym
的檔案 (其中包含目的地目錄的路徑) 來建立指向 MySQL 資料庫的符號連結。檔案應該命名為
,其中 db_name
.symdb_name
是資料庫名稱。
預設情況下,Windows 上使用 .sym
檔案的資料庫符號連結支援是啟用的。如果您不需要 .sym
檔案符號連結,您可以透過啟動 mysqld 並搭配 --skip-symbolic-links
選項來停用對它們的支援。要確定您的系統是否支援 .sym
檔案符號連結,請使用此語句檢查 have_symlink
系統變數的值:
SHOW VARIABLES LIKE 'have_symlink';
要建立 .sym
檔案符號連結,請使用以下步驟:
將位置變更到資料目錄中。
C:\> cd \path\to\datadir
在資料目錄中,建立一個名為
mydb.sym
的文字檔,其中包含此路徑名稱:D:\data\mydb\
注意新資料庫和資料表的路徑名稱應該是絕對路徑。如果您指定相對路徑,則該位置相對於
mydb.sym
檔案。
之後,在資料庫 mydb
中建立的所有資料表都會在 D:\data\mydb
中建立。