Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

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

10.12.2.3 在 Windows 上使用符号链接的数据库

在 Windows 上,符号链接可以用于数据库目录。这使您可以将数据库目录放在不同的位置(例如,在不同的磁盘上),方法是设置指向它的符号链接。使用 Windows 上的数据库符号链接与 Unix 上的使用方式相似,尽管设置链接的过程不同。

假设您想将名为 mydb 的数据库目录放在 D:\data\mydb。为此,创建一个指向 D:\data\mydb 的符号链接在 MySQL 数据目录中。但是在创建符号链接之前,确保 D:\data\mydb 目录存在,如果必要,创建它。如果您已经在数据目录中有一个名为 mydb 的数据库目录,那么将其移到 D:\data。否则,符号链接将无效。为了避免问题,请确保服务器在移动数据库目录时没有运行。

在 Windows 上,您可以使用 mklink 命令创建符号链接。该命令需要管理员权限。

  1. 确保要使用的数据库路径存在。例如,我们使用 D:\data\mydb,并且数据库名为 mydb

  2. 如果数据库不存在,请在 mysql 客户端中发出 CREATE DATABASE mydb 命令来创建它。

  3. 停止 MySQL 服务。

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

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

    C:\> cd \path\to\datadir

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

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

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

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

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

使用 .sym 文件的数据库符号链接在 Windows 上默认启用。如果您不需要 .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 中创建。