所以我有一个带有innodb_file_per_table的MySQL数据库,一个SSD中的大部分数据库,以及一个单独驱动器上的一个巨大的表。
大多数文件存储在/ var / lib / mysql / database1 /中,但是通过在表上设置DATA_DIRECTORY(设置为/ home / that_table),使得该表的文件存储在/ home / that_table /中数据库1
如果我使用类似的东西将database1克隆到database2:
mysqldump database1 | mysql database2
克隆数据库中的“that_table”将存储在哪里?
我的预感是它会匹配data_directory指令并将其存储到/ home / that_table / database2 ......
但我不确定。
答案 0 :(得分:1)
是的,它会自动为您的自定义数据目录下的每个架构创建一个新的子目录。
这是一个演示:
mysql> create table test.ddtest (i int) data directory='/tmp/tests';
mysql> create database test2;
$ mysqldump test | mysql test2
$ sudo ls /tmp/tests
test test2