8.12.3.2 在 Unix 上对 MyISAMtable 使用符号链接

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

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

SHOW VARIABLES LIKE 'have_symlink';

MyISAMtable 的符号链接的处理方式如下:

Note

DATA DIRECTORYINDEX DIRECTORY选项之一或全部使用的路径可能不包含 MySQL data目录。错误 32167)

Note

删除使用符号链接的 table 时,符号链接和符号链接指向的文件都。这是一个非常好的理由,不要rootos 用户身份运行mysqld或不允许 os 用户具有对 MySQL 数据库目录的写访问权。

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

shell> cd /path/to/datadir/db1
shell> ln -s tbl1.frm tbl2.frm
shell> ln -s tbl1.MYD tbl2.MYD
shell> ln -s tbl1.MYI tbl2.MYI

如果一个线程读取db1.tbl1而另一个线程更新db1.tbl2则会导致问题:

首页