我一直在我的 MySQL 数据库 (MyISAM 和 INNDOB) 上运行 mysqldump。最近我想将数据库还原到另一台服务器,因此我创建了数据库并导入了转储文件。就在那时,我发现 IBD 文件没有创建。
我以为我所做的是备份,但对于 INNODB 来说,似乎我必须备份 /var/lib/mysql//.ibd 也是——对吧?
如果是这样的话,如果我还必须备份 IBD 文件,那么转储文件有什么意义呢?
我确信我忽略了显而易见的事情......
答案1
我可能错了,但我认为 .IBD 文件的使用取决于 InnoDB 设置和版本。除了 ibdata 文件之外,较新的 InnoDB 安装中还需要它们。
如果您有转储,那么您也不需要。
答案2
你所说的 .ibd 文件仅用于/生成你innodb_file_per_table = 1
在 mysqld 配置中设置后生成的所有表。否则,所有 InnoDB 表的内容都将存储在全局ibdata*
文件中。
所以我猜测,您进行恢复的服务器没有使用innodb_file_per_table
,这本身没有问题......