将每个数据库存储在不同的目录中

有没有办法将每个MySQL数据库存储在一个单独的目录? 我可以将目录符号链接到每个数据库的/ var / lib / mysql,但我想知道是否有一个内置的方式。

谢谢

没有这样做的内置方式恐怕,MySQL的工作方式只是定义datadir,然后所有的数据库应该在他们的目录中。

如果你想这样做,只要确保mysql正在运行的用户可以访问最终的目录,我认为软链接应该没问题。

令人惊讶的是,个别MyISAM表的唯一内置符号链接
由CREATE TABLE命令完成,如下所示:

CREATE TABLE ( ... ) ENGINE=MyISAM DATA_DIRECTORY='absolute path of data folder' INDEX_DIRECTORY='absolute path of index folder'; 

转到http://dev.mysql.com/doc/refman/5.0/en/create-table.html并findDATA_DIRECTORY和INDEX_DIRECTORY选项。

只有.frm文件保留在原始服务器中。

BTW这些选项在Windows版本的MySQL中不起作用。 这些选项不适用于InnoDB。

http://dev.mysql.com/doc/refman/5.5/en/innodb-multiple-tablespaces.html

在启用多个表空间的情况下,InnoDB将每个新创build的表存储在相应数据库目录的tbl_name.ibd文件