我目前有一个基于 MYISAM 存储引擎的数据库,其中有几千条记录。我想将我的数据库转换为 InnoDb 存储引擎。
这不会是一个简单的 ALTER 存储引擎命令,因为在将其转换为 InnoDb 之前,我需要将外键添加到当前数据库架构(尽管当前的 MyISAM 数据库架构确实有主键)。
我的问题是,一旦我将数据库转换为 InnoDb,将数据从当前 MYISAM 引擎恢复到 InnoDb 引擎将就像触发 PhpMyAdmin 实例并备份数据(减去数据库架构或结构)一样简单,然后恢复到Innodb引擎?
这样做的潜在障碍是什么?
这是解决此问题的正确方法吗?或者还有哪些其他更简单或更好的数据恢复方法?
最佳答案
为什么不呢?确保先备份数据,这总是一个好主意,但是您不需要转储和恢复数据,您可以发出简单的 ALTER TABLE,例如:It won't be a simple ALTER storage engine command, since i need to add foreign keys to to the current database schema
ALTER TABLE `tablename` ENGINE = InnoDB;
之后您可以添加任何索引和外键。如果任何新的外键失败,您必须修复数据并重试。
关于mysql - 将数据从 myisam 复制到 innodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181659/