我一直在向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