gpt4 book ai didi

mysql - 为 InnoDB 中的每个数据库创建新的 ibdata* 文件

转载 作者:可可西里 更新时间:2023-11-01 07:31:27 26 4
gpt4 key购买 nike

是否可以为 InnoDB 中的每个数据库创建一个唯一的 ibdate 文件?

因为如果我在 InnoDB 中创建了多个数据库,它将全部存储在 ibdata1、ibdata2 等...

这使得仅恢复 1 个数据库而不是所有拥有 InnoDB 的客户端变得困难。 MyISAM 为每个表创建多个 .frm、MYD 和 MYI 文件,以便于恢复。

我们怎样才能使 InnoDB 上的恢复更容易。我必须制作 DUMP .sql 文件还是有其他解决方案?

谢谢

最佳答案

InnoDB 的数据不能按库分开,但是可以按表分开,表和MyISAM 表一样存储在各自的子目录下。参见 http://dev.mysql.com/doc/refman/5.1/en/innodb-multiple-tablespaces.html

但是无论您是使用中央表空间文件还是每个表的文件,您都不应该通过在文件系统上四处移动文件来备份或恢复 InnoDB 数据库。即使您没有运行查询来写入 InnoDB 表,也有后台线程正在处理 ib_logfile、撤消日志、插入缓冲区和其他内容。您的数据在任何给定时间都分布在多个地方,如果您尝试四处移动 InnoDB 文件,您损坏它们。

相反,使用 mysqldump 在 MySQL 运行时安全地对 InnoDB 数据进行逻辑转储。

关于mysql - 为 InnoDB 中的每个数据库创建新的 ibdata* 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7404394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com