今天在用mysql的innodb引擎時突然出現InnoDB registration as a STORAGE ENGINE failed.Unknown/unsupported table type: innodb.系統變得無法正常啟動了,經過分析做個記錄以借再次碰到此類問題的同學參考.
前幾天,啟動mysql時,突然報1067系統錯誤,死活無法啟動,當時不管三七二十八,重裝,清空注冊表,重啟,仍然沒辦法啟動.
總是在安裝后的配置那里最后一步啟動服務的界面卡死,半天沒反應,折騰了兩三個小時,才猛然想起,該去看看日志,代碼如下:
- 110223 15:58:08 [Note] Plugin 'FEDERATED' is disabled.
- 110223 15:58:08 InnoDB: Initializing buffer pool, size = 17.0M
- 110223 15:58:08 InnoDB: Completed initialization of buffer pool
- InnoDB: No valid checkpoint found.
- InnoDB: If this error appears when you are creating an InnoDB database,
- InnoDB: the problem may be that during an earlier attempt you managed
- InnoDB: to create the InnoDB data files, but log file creation failed.
- InnoDB: If that is the case, please refer to
- InnoDB: http://dev.mysql.com/doc/refman/5.1/en/error-creating-innodb.html --Vevb.com
- 110223 15:58:08 [ERROR] Plugin 'InnoDB' init function returned error.
- 110223 15:58:08 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
- 110223 15:58:08 [ERROR] Unknown/unsupported table type: innodb
- 110223 15:58:08 [ERROR] Aborting
大意是innodb初始化失敗,不認識innodb類型.
google了一下,把my.ini文件打開,更改default-storage-engine=innodb為default-storage-engine=myism.
啟動成功,但是建表時找不到innodb引擎了,但想著,也不能老這樣啊,這樣innodb也用不了了,有google了一下,主要是innodb日志大小不對造成的.
innodb_buffer_pool_size=512M
innodb_log_file_size=128M
把以上幾個參數調大點,然后把ibdata1,ib_logfile0,ib_logfile1這三個文件刪除后,再重啟服務就好了.
如果還是不行,在my.ini文件里還需要加入tmpdir="usr/tmp"這樣的路徑,因為innodb還需要一個臨時的文件緩存區.
還遇到的問題是密碼正確,但GUI工具無法登陸,可以先用配置程序修改密碼,然后在命令行下登陸刷新權限就可以了,flush privilege.
記錄下來,僅供遇到此類問題的同學參考。
新聞熱點
疑難解答