在 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 8.4\Data
在数据目录中,创建一个名为
mydb
的符号链接,该链接指向数据库目录的位置C:\> mklink /d mydb D:\data\mydb
启动 MySQL 服务。
此后,在 mydb
数据库中创建的所有表都将创建在 D:\data\mydb
中。
或者,在 MySQL 支持的任何 Windows 版本上,您都可以通过在数据目录中创建一个包含目标目录路径的 .sym
文件来创建指向 MySQL 数据库的符号链接。该文件应命名为
,其中 db_name
.symdb_name
是数据库名称。
使用 .sym
文件在 Windows 上支持数据库符号链接是默认启用的。如果您不需要 .sym
文件符号链接,您可以通过使用 --skip-symbolic-links
选项启动 mysqld 来禁用对它们的 supports。要确定您的系统是否支持 .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
中。