文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  在 Unix 上使用符号链接来存放 MyISAM 表

10.12.2.2 在 Unix 上使用符号链接来存放 MyISAM 表

注意

此处所述的符号链接支持,以及控制它的 --symbolic-links 选项已弃用;预计这些将在 MySQL 的未来版本中被删除。此外,该选项默认情况下是禁用的。

只有 MyISAM 表才能完全支持符号链接。对于其他存储引擎的表使用的文件,如果您尝试使用符号链接,可能会遇到奇怪的问题。对于 InnoDB 表,请使用 第 17.6.1.2 节,“在外部创建表” 中说明的替代技术。

不要在没有完全正常运行的 realpath() 调用的系统上对表进行符号链接。(Linux 和 Solaris 支持 realpath())。要确定您的系统是否支持符号链接,请使用以下语句检查 have_symlink 系统变量的值

SHOW VARIABLES LIKE 'have_symlink';

对于 MyISAM 表,符号链接的处理方式如下

  • 在数据目录中,您始终拥有数据 (.MYD) 文件和索引 (.MYI) 文件。数据文件和索引文件可以移动到其他位置,并在数据目录中用符号链接替换。

  • 您可以将数据文件和索引文件独立地符号链接到不同的目录。

  • 要指示正在运行的 MySQL 服务器执行符号链接,请使用 DATA DIRECTORYINDEX DIRECTORY 选项来创建 CREATE TABLE。参见 第 15.1.20 节,“CREATE TABLE 语句”。或者,如果 mysqld 未运行,则可以通过命令行使用 ln -s 手动完成符号链接。

    注意

    DATA DIRECTORYINDEX DIRECTORY 选项中任一或两者一起使用的路径可能不包含 MySQL data 目录。(Bug #32167)

  • myisamchk 不会用数据文件或索引文件替换符号链接。它直接对符号链接指向的文件进行操作。任何临时文件都将在数据文件或索引文件所在的目录中创建。对于 ALTER TABLEOPTIMIZE TABLEREPAIR TABLE 语句也是如此。

  • 注意

    当您删除使用符号链接的表时,符号链接及其指向的文件都将被删除。这是一个非常好的理由,说明 不应root 操作系统用户身份运行 mysqld 或允许操作系统用户对 MySQL 数据库目录具有写访问权限。

  • 如果您使用 ALTER TABLE ... RENAMERENAME TABLE 重命名表,并且您没有将表移动到另一个数据库,则数据库目录中的符号链接将重命名为新名称,数据文件和索引文件也将相应地重命名。

  • 如果您使用 ALTER TABLE ... RENAMERENAME TABLE 将表移动到另一个数据库,则该表将被移动到另一个数据库目录。如果表名发生了变化,则新数据库目录中的符号链接将重命名为新名称,数据文件和索引文件也将相应地重命名。

  • 如果您没有使用符号链接,请使用 mysqld--skip-symbolic-links 选项启动,以确保没有人可以使用 mysqld 删除或重命名数据目录之外的文件。

不支持这些表符号链接操作。

  • ALTER TABLE 会忽略 DATA DIRECTORYINDEX DIRECTORY 表选项。