Posted by & filed under CentOS.

今回のお題は相当、マニアックです。
読み飛ばして下さい。覚書です。

MySQLも5.1から5.5にアップデート。すると起動出来なくなってびっくりしたと言うお話。

MySQLが起動できなくなってしまいました。

# service mysqld start
MySQL Daemon failed to start.
Starting mysqld: [FAILED]

再起動してもずっとエラーが出るので、
ログを調べてみる

tail /var/log/mysqld.log

結論から言うと、my.cnf に無効な記述があったために立ち上がらなかった

対策

my.cnf の見直し

5.5ではこれまで使われていたいくつかのシステム変数やSQL文、サーバオプションが使えなくなっています。これらが設定ファイルに存在するとエラーで起動出来なくなっています。

また、メモリ節約のために「–skip-innodb」を設定してInnoDBを使わない設定にしている方は多いと思いますが、MySQL 5.5 からは単体でこれを設定すると以下のようにエラーになります。

[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting

ではInnoDBを使用しないようにするにはどうするかというと、以下のようにmy.cnfに設定します。

skip-innodb
default-storage-engine=MyISAM

または、

skip-innodb
default-storage-engine=MyISAM

5.5からはInnoDBがデフォルトになっているため、innoDBを止めちゃうと何使ったら良いのか分からなくなるようです。

Leave a Reply

  • (will not be published)