有没有办法将每个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文件中