2011-11-03 49 views
1

我正在嘗試將MyISAM表引擎從MyISAM更改爲INNODB。我現在用的是從MyISAM將引擎更改爲InnoDB無法正常工作

alter table tablename ENGINE=INNODB

命令。我沒有收到任何錯誤或在MySQL方面的警告。我還談到在my.cnf文件中

跳過InnoDB的

線。所以,當我做了

顯示的變量,比如 '有-的InnoDB%'

它給了我一個 「YES」。另外,爲了安全起見,我還刪除了ib_logfile0和ib_logfile1並重新啓動了我的mysql服務器。

但它仍然不會改變引擎。我還做了一個展示引擎,它將innodb顯示爲可用引擎之一。

此外,這些表格充滿了數據,並有大約5000行,所以當表有數據時更改引擎類型,那會是問題嗎?

缺失的鏈接是什麼?

+0

你運行了一個'show create table table_name'來驗證它沒有改變嗎? –

+0

那麼我做一個顯示錶狀態,其中name ='tablename'。並顯示myisam – macha

+0

這可能是一個MySQL的錯誤,你用的是什麼版本? –

回答

0

你能重啓服務器嗎?如果是這樣,錯誤日誌會告訴你它是否有初始化InnoDB引擎的問題。
這是你的db中第一個InnoDB表嗎?如果是這樣,你可能忘記創建你的ibdata文件。
表使用全文索引或其他InnoDB不兼容的功能嗎?

+0

Nic,你能幫我找出錯誤日誌嗎?我試圖在/ var/lib/mysql中查找它,但我沒有在那裏找到它。我在Fedora上,是否有另一個位置用於存儲mysql錯誤日誌? – macha

+0

好的,我確實找到了日誌文件,它說InnoDB服務器啓動得很好 – macha

+0

在你的變量中,查找'datadir','innodb-data-home-dir','innodb-data-file-path':這些將有助於你會發現你的ibdata文件(它包含InnoDB表)。 – niczero

相關問題