Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Using Symbolic Links for Databases on Windows

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 命令创建符号链接。这条命令需要管理员权限。

  1. 确保要创建的数据库目录存在。在这个示例中,我们使用 D:\data\mydb,并且数据库名为 mydb

  2. 如果数据库不存在,使用 CREATE DATABASE mydb 命令在 mysql 客户端创建它。

  3. 停止 MySQL 服务。

  4. 使用 Windows 探索器或命令行,移动目录 mydb 从数据目录移到 D:\data,将同名目录替换。

  5. 如果您没有使用命令提示符,打开它,并更改到数据目录,如下所示:

    C:\> cd \path\to\datadir

    如果您的 MySQL 安装在默认位置,可以使用以下命令:

    C:\> cd C:\ProgramData\MySQL\MySQL Server 8.4\Data
  6. 在数据目录中,创建一个名为 mydb 的符号链接,指向数据库目录的位置:

    C:\> mklink /d mydb D:\data\mydb
  7. 启动 MySQL 服务。

在完成后,所有在数据库 mydb 中创建的表将在 D:\data\mydb 中创建。

另外,在任何支持 MySQL 的 Windows 版本上,可以使用 .sym 文件来创建 MySQL 数据库符号链接。在数据目录中创建一个名为 db_name.sym 的文件,该文件包含目标目录的路径。文件名应为 db_name.sym,其中 db_name 是数据库名称。

在 Windows 上使用 .sym 文件符号链接支持默认启用。如果您不需要 .sym 文件符号链接,可以使用 mysqld 命令行选项 --skip-symbolic-links 禁用支持。要确定系统是否支持 .sym 文件符号链接,可以使用以下语句检查 have_symlink 系统变量的值:

SHOW VARIABLES LIKE 'have_symlink';

创建一个.sym文件符号链接,使用以下过程:

  1. 切换到数据目录:

    C:\> cd \path\to\datadir
  2. 在数据目录中,创建一个名为mydb.sym的文本文件,该文件包含以下路径名:D:\data\mydb\

    Note

    新数据库和表的路径名应该是绝对的。如果您指定相对路径,位置相对于mydb.sym文件。

然后,在数据库mydb中创建的所有表将在D:\data\mydb中创建。