MySQL 备份和恢复

MySQL 备份和恢复

我一直在我的 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,这本身没有问题......

答案3

mysqldump 就足够了。还有其他工具,例如innodb热复制或者备份可以基于 ibd 文件进行备份...但它们是常规 mysql 转储的替代解决方案。

相关内容