安裝 MySQL 5 後無法啟動(不能 Start service) 的解決辦法
發表於 : 週六 2月 25, 2012 12:32 am
安裝的 MySQL 5.1.48 或是 MySQL 5.5.8,配置好最後點擊 Execute 按鈕了,但是進行不到 Start service 這一步。檢查了下 MySQL 系統服務已添加,但是無法啟動,手工也不行。這時候用事件查看器可以看到程序事件裡有幾個來自於 MySQL 的錯誤:
Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
Unknown/unsupported table type: INNODB
原來是因為這兩版本的 MySQL 默認使用了支持事物的 INNODB 引擎,打開 my.ini 文件,在 MySQL 的安裝文件夾, 如 c:\program files\MySQL\ 中,看到:
default-storage-engine=INNODB
解決辦法是把該設置改為
default-storage-engine=MYISAM
仍然使用 MyISAM 作為默認的數據庫引擎,保存 my.ini 文件,然後手工啟動 MySQL 服務,成功;再把剛剛的配置窗口關掉就行了。
你完全可以在創建數據庫時指定所創建數據庫所用的數據庫引擎,或創建表時所用的數據庫引擎,或者創建後再更改都可以。
你可以再次回憶一下剛剛配置的過程:
安裝的最後一個步驟,在點 Finish 按鈕時,可以選擇 Configure the MySQL Server now,或者是從開始菜單裡直接運行 MySQL 的 MySQL Server Instance Configuration Wizard 來進行配置數據庫,在選擇 database usage 時有三個選項:
1) Multifunctional Database
2) Transactional Database Only
3) No-Transactional Database Only
默認是第一項,選第二項也會讓數據庫默認的引擎為 INNODB,生成的 my.ini 文件裡都會是 default-storage-engine=INNODB。至於在 my.ini 中註釋掉了 --skip-innodb 並不太會影響到數據庫的啟動,只是決定了數據庫的事物特性。
那麼在最後一步 Processing configuration ... 裡寫完 my.ini 文件後,進行到 Start service 就不動了,也就是啟動不了 MySQL 服務,在系統服務裡已經加了 MySQL 服務名。
如果你這一步選擇的是第三項,不使用支持事件的數據庫,那麼在 my.ini 文件裡就是 default-storage-engine=MYISAM,那麼你也很幸運,能順利配置成功,並啟動好數據庫。不過這將使你不能使用 INNODB 引擎(ERROR 1286 (42000): Unknown table engine 'InnoDB'),其實也就是把 my.ini 中的 skip-innodb 給啟用了,你可以把它再次註釋掉試試事物。
Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
Unknown/unsupported table type: INNODB
原來是因為這兩版本的 MySQL 默認使用了支持事物的 INNODB 引擎,打開 my.ini 文件,在 MySQL 的安裝文件夾, 如 c:\program files\MySQL\ 中,看到:
default-storage-engine=INNODB
解決辦法是把該設置改為
default-storage-engine=MYISAM
仍然使用 MyISAM 作為默認的數據庫引擎,保存 my.ini 文件,然後手工啟動 MySQL 服務,成功;再把剛剛的配置窗口關掉就行了。
你完全可以在創建數據庫時指定所創建數據庫所用的數據庫引擎,或創建表時所用的數據庫引擎,或者創建後再更改都可以。
你可以再次回憶一下剛剛配置的過程:
安裝的最後一個步驟,在點 Finish 按鈕時,可以選擇 Configure the MySQL Server now,或者是從開始菜單裡直接運行 MySQL 的 MySQL Server Instance Configuration Wizard 來進行配置數據庫,在選擇 database usage 時有三個選項:
1) Multifunctional Database
2) Transactional Database Only
3) No-Transactional Database Only
默認是第一項,選第二項也會讓數據庫默認的引擎為 INNODB,生成的 my.ini 文件裡都會是 default-storage-engine=INNODB。至於在 my.ini 中註釋掉了 --skip-innodb 並不太會影響到數據庫的啟動,只是決定了數據庫的事物特性。
那麼在最後一步 Processing configuration ... 裡寫完 my.ini 文件後,進行到 Start service 就不動了,也就是啟動不了 MySQL 服務,在系統服務裡已經加了 MySQL 服務名。
如果你這一步選擇的是第三項,不使用支持事件的數據庫,那麼在 my.ini 文件裡就是 default-storage-engine=MYISAM,那麼你也很幸運,能順利配置成功,並啟動好數據庫。不過這將使你不能使用 INNODB 引擎(ERROR 1286 (42000): Unknown table engine 'InnoDB'),其實也就是把 my.ini 中的 skip-innodb 給啟用了,你可以把它再次註釋掉試試事物。