【发布时间】:2018-05-07 08:42:49
【问题描述】:
我们有一个当前正在运行的应用程序,它在多线程环境中使用 Mysql。我们有大约 25 个表,其中 20 个表使用 InnoDb 作为存储引擎,而 5 个表使用 MyISAM 作为存储引擎。
我们将把这 5 个表的存储引擎改为 InnoDB。如果在运行应用程序期间更改它会导致一些问题
【问题讨论】:
-
更换引擎时表格将被锁定。使用 InnoDB 引擎创建新表可能更安全,从 MyISAM 表中使用 insert from select 填充它,然后重命名表。
-
@YuriLachin - 注意:如果在此过程中进行了插入/更新,它们将会丢失。
-
在转换期间/之后可能会出现许多不太可能出现的问题:mysql.rjweb.org/doc.php/myisam2innodb
标签: mysql sql innodb storage-engines