MySQL使用Symbolic-Links以支持数据分区存储

MySQL数据库及表(仅MyISAM)支持符号链接(symbolic link),即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录。
要支持符号链接,需要在配置中设置symbolic-links=1(较新的版本为默认开启)

假设my.cnf有设置data目录:

1
datadir=/data1/mysql/data/

而在另一个分区目录下保存有数据数据库TestDB:

1
/data2/mysql/data/TestDB

那么可以这样使得同一个MySQL实例能同时管理TestDB:

1
ln -s /data2/mysql/data/TestDB /data1/mysql/data/

所有文件相关权限设置正确后,MySQL就可以管理TestDB了。
值得注意的是,TestDB最好只能为一个MySQL服务来操作,否则会出现意想不到的问题。使用symbolic link的一个好处是当一个磁盘或分区空间不够时,可以将数据存储到其他的磁盘或分区。