我一直在向MySQL数据库添加表,方法是将&从文件粘贴到mysql命令行应用程序中。我的过程是从文件复制CREATE TABLE语句并将其粘贴到我的开发数据库中,然后将其粘贴到另一台机器上的测试数据库中。我是唯一使用测试数据库的人。我的CREATE TABLE语句指定Engine = InnoDB。测试数据库启用了InnoDB。意外的MySQL表引擎更改?
最近另一位开发人员发现测试数据库上的表都是MyISAM表。我检查了我的文件,它仍然说“引擎= InnoDB”的一切。我检查了我的开发数据库,那里的表是Engine = InnoDB。
为了证明测试数据库与InnoDB没有问题,我只需要ALTER TABLED将引擎设置为所有表上的InnoDB。
我希望我只是复制&粘贴或其他愚蠢的错误。但它似乎很奇怪,所有测试表是MyISAM ...当然,我不能是我的错误一致。使用mysqldump完成所有备份&恢复。
有没有一种无意中更换引擎的方法?
这不会发生在现代版本;如果InnoDB无法启动,将导致服务器启动失败。另一方面,如果它在配置中被禁用,它仍然会替代引擎。 – MarkR 2009-11-26 07:51:33
谢谢,我不知道。 :) – intgr 2009-11-26 10:34:37