#### 8.12.2.3 在 Windows 上为数据库使用符号链接

[](<>)[](<>)[](<>)[](<>)

在 Windows 上，符号链接可用于数据库目录。这使您可以通过设置符号链接将数据库目录放在不同的位置（例如，在不同的磁盘上）。Windows 上数据库符号链接的使用与 Unix 上的使用类似，尽管设置链接的过程不同。

假设您要放置名为的数据库的数据库目录`数据库`在`D:\数据\mydb`.为此，在 MySQL 数据目录中创建一个符号链接，指向`D:\数据\mydb`.但是，在创建符号链接之前，请确保`D:\数据\mydb`如有必要，通过创建目录来存在。如果您已经有一个名为的数据库目录`数据库`在数据目录中，将其移动到`D:\数据`.否则，符号链接无效。为避免出现问题，请确保在移动数据库目录时服务器未运行。

在 Windows 上，您可以使用**链接**命令。此命令需要管理权限。

1.  确保存在所需的数据库路径。对于这个例子，我们使用`D:\数据\mydb`，以及一个名为`数据库`.

2.  如果数据库尚不存在，请发出`创建数据库 mydb`在里面[**mysql**](mysql.html)客户端来创建它。

3.  停止 MySQL 服务。

4.  使用 Windows 资源管理器或命令行，移动目录`数据库`从数据目录到`D:\数据`，替换同名目录。

5.  如果您尚未使用命令提示符，请将其打开，然后将位置更改为数据目录，如下所示：

    ```
    C:\> cd \path\to\datadir
    ```

    如果你的 MySQL 安装在默认位置，你可以使用这个：

    ```
    C:\> cd C:\ProgramData\MySQL\MySQL Server 8.0\Data
    ```

6.  在数据目录中，创建一个名为`数据库`指向数据库目录的位置：

    ```
    C:\> mklink /d mydb D:\data\mydb
    ```

7.  启动 MySQL 服务。

    在此之后，在数据库中创建的所有表`数据库`创建于`D:\数据\mydb`.

    或者，在 MySQL 支持的任何 Windows 版本上，您可以通过创建一个指向 MySQL 数据库的符号链接`.sym`包含目标目录路径的数据目录中的文件。该文件应命名为`*`数据库名称`*.sym`， 在哪里*`数据库名称`*是数据库名称。

    支持在 Windows 上使用数据库符号链接`.sym`默认情况下启用文件。如果你不需要`.sym`文件符号链接，您可以通过启动来禁用对它们的支持[**mysqld**](mysqld.html)与[`--跳过符号链接`](server-options.html#option_mysqld_symbolic-links)选项。确定您的系统是否支持`.sym`文件符号链接，检查的值[`有符号链接`](server-system-variables.html#sysvar_have_symlink)使用此语句的系统变量：


```
SHOW VARIABLES LIKE 'have_symlink';
```

创建一个`.sym`文件符号链接，请使用以下过程：

1.  将位置更改为数据目录：

    ```
    C:\> cd \path\to\datadir
    ```

2.  在数据目录中，创建一个名为`mydb.sym`包含此路径名：`D:\数据\mydb\`

    笔记

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

    在此之后，在数据库中创建的所有表`数据库`创建于`D:\数据\mydb`.
