週末に、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
ふぅ、ちょっぴり焦りました。(^_^;
コメント