CentOS5.6アップデート後にMySQLが起動しない

週末に、CentOSが5.6へバージョンアップした事により、システム再起動後に、MySQLが起動していないことに気づいた。
これを適用したサーバは、公開用の某サーバなので、早急に解決しなくてはならなかったので、調べてみた。
ちなみに、CentOS5.5の時のMySQLバージョンは5.1.56で、CentOS5.6へアップデート後は5.5.11であった。

手動で起動してみると、

# /sbin/service mysqld start
MySQL Daemon failed to start.
mysqld を起動中: [失敗]

こんな時には、エラーを見てみよう。

# tail /var/log/mysqld.log

ん?何もない! エラーログを記録してなかった。orz

エラーログを記録する。
my.cnfの[mysqld]内に記述。

# vi /etc/my.cnf
....
[mysqld]
....
log-error=/var/log/mysqld.log
.....

保存して、再度、mysqldを起動し、/var/log/mysqld.logに書かれていればOK。

それで、エラーログを見て判断するわけだが、私の環境の場合、下記が該当した。

[ERROR] /usr/libexec/mysqld: unknown variable ‘default-character-set=utf8′
[ERROR] COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
[ERROR] /usr/libexec/mysqld: unknown option '--skip-locking'

対処として、my.cnf内に記述されてた下記を削除もしくはコメントアウト。

#default-character-set=utf8
#collation-server = utf8_general_ci
#skip-locking

この後、無事に起動しましたが、mysql_upgradeコマンドを実行しておいた方が良いでしょう。

# mysql_upgrade -u root -p

また、default-character-set=utf8を無効にしましたが、今後は、下記を明記するようです

character-set-server = utf8

ふぅ、ちょっぴり焦りました。(^_^;

スポンサーリンク
336×280(テキスト&ディスプレイ広告)
336×280(テキスト&ディスプレイ広告)
banner