暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[ACDU 翻译 ] MySQL 8.12.2.2 在 Unix 上为 MyISAM 表使用符号链接

原创 由迪 2021-07-01
980

笔记

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

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

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

SHOW VARIABLES LIKE 'have_symlink';
复制

MyISAM 表 符号链接的处理工作如下:

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

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

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

    笔记

    DATA DIRECTORYINDEX DIRECTORY选项之一或两者一起使用的路径可能不包括 MySQL data目录。(错误#32167)

  • myisamchk不会用数据文件或索引文件替换符号链接。它直接作用于符号链接指向的文件。任何临时文件都在数据文件或索引文件所在的目录中创建。同样是真实的 ALTER TABLEOPTIMIZE TABLEREPAIR TABLE语句。

  • 笔记

    当您删除使用符号链接的表时,符号 链接和符号链接指向的文件都会被删除。这是一个非常好的理由运行 mysqld的作为root 操作系统用户或允许操作系统的用户将不得不MySQL数据库目录的写入权限。

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

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

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

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

  • ALTER TABLE忽略 DATA DIRECTORYINDEX DIRECTORY表选项。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论