I recently upgraded my MySQL in preparation for WordPress 3.2. The version I now have is 5.5.12. The upgrade finished without a hitch but when I tried to restart the service, the MySQL Daemon failed.
Here’s the log of mysql (/var/log/mysqld.log)
110514 14:04:22 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
110514 14:04:22 [Note] Plugin 'InnoDB' is disabled.
110514 14:04:22 [Note] Plugin 'FEDERATED' is disabled.
/usr/libexec/mysqld: Table 'mysql.plugin' doesn't exist
110514 14:04:22 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110514 14:04:22 [ERROR] Unknown/unsupported storage engine: InnoDB
110514 14:04:22 [ERROR] Aborting
Initially, I thought the problem was on the mysql_upgrade part because that’s the first error that appears on the log. Apparently, that’s just a warning message because the service still managed to proceed to the next step which is for the InnoDB. And based on the log, it failed to start and actually aborted. So that’s where I should concentrate my investigation/trial-and-error.
I opened /etc/my.cnf and comment out skip-innodb and then restart mysqld. It fixed the problem and mysql managed to start. I then proceeded with the mysql_upgrade which is unrelated to the error.
Another solution for this is to set the default storage to other than InnoDB. However, I haven’t tried that myself.