10.12.2.3 Windows上使用符号链接 for 数据库
在 Windows 上,可以使用符号链接来管理数据库目录。这使您可以将数据库目录移到不同的位置(例如,移到不同的磁盘)通过设置符号链接。使用 Windows 上的数据库符号链接的方法与 Unix 上的方法类似,但是设置链接的步骤不同。
假设您想将名为 mydb
的数据库目录移到 D:\data\mydb
。要实现这个目标,需要在 MySQL 数据目录中创建一个符号链接,指向 D:\data\mydb
。但是,在创建符号链接之前,需要确保 D:\data\mydb
目录存在。如果您已经在数据目录中有一个名为 mydb
的目录,需要将其移到 D:\data
。否则,符号链接将无效。为了避免问题,确保服务器在移动数据库目录时不在运行。
在 Windows 上,可以使用 mklink 命令创建符号链接。这条命令需要管理员权限。
-
确保要创建的数据库目录存在。在这个示例中,我们使用
D:\data\mydb
,并且数据库名为mydb
。 -
如果数据库不存在,使用
CREATE DATABASE mydb
命令在 mysql 客户端创建它。 -
停止 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
.sym
,其中 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\
Note新数据库和表的路径名应该是绝对的。如果您指定相对路径,位置相对于
mydb.sym
文件。
然后,在数据库mydb
中创建的所有表将在D:\data\mydb
中创建。