从MySQL 8.0.21开始,指定每个表的数据目录的能力终于得到了改进.
CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/external/directory';
在MySQL的早期版本中,您可以使用符号链接.也就是说,链接仍然必须驻留在默认数据目录下,但链接可以指向另一个物理设备上的文件.
以这种方式对单个表使用符号链接是不可靠的,因为OPTIMIZE TABLE或许多形式的ALTER TABLE将在没有符号链接的情况下重新创建文件,从而有效地将其移回主存储设备.要解决此问题,建议使用架构子目录的符号链接,而不是单独的表.
老实说,我从来没有发现需要使用这两种技术中的任何一种.只需保持简单:一个文件系统上有一个数据目录,并且不要将数据目录放在与根文件系统相同的设备上.确保数据存储卷足够大,可以容纳所有数据.如果您需要使用多个设备来创建一个更大的文件系统,请使用软件RAID.