発端
久しぶりにブログでも更新しようかなぁなんて思ってアクセスしたら
エラー:データベースに接続できません
なんて文字がデカデカと表示されてたYo!!
さすがにちょっとあせったので、対応したメモ。
エラー発覚
久々にブログにアクセスしたら冒頭で書いた通り、
エラー:データベースに接続できません
とデカデカ表示されてました。
ログ確認
とりあえず、mysqlの再起動と思って
/etc/init.d/mysqld restart
を実行したんだけど、
MySQL Daemon failed to start
のエラー
え、なにコレ怖いと思ってグーグルさんに問いかけた。
そしたらまずはログを見ろみたいな事が書いてあったので、
cat /var/log/mysqld.log
でログを確認したところ、
[ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8' [ERROR] Aborting
うん。謎のエラー。どうやらここで落ちていたらしい。
対応
再度ググるとどうやらmy.cnf(MySQLの設定ファイル)をイジルと直るっぽいのが分かったので/etc/my.cnf
を開く。
すると、
・ ・ # character-set character-set-server=utf8
default-character-set=utf8
おービンゴ。ありましたね。
** default-character-set=utf8
他の箇所にも同じ記述はされてたんだけど、エラーを見る限り
mysqldのこれをコメントアウトしとけば間違いないかと。
**default-character-set=utf8 → # default-character-set=utf8
そして、mysqlの再起動をかけたところ見事成功!
ブログも見れるしメデタシ、メデタシ。
一応ログを見てみるかと思いログを見ると
[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
おぅ、エラー。何だよ別にブログも見れるし普通に動いてるのになぁと思いつつ、ログに従い
mysql_upgrade -u root -p
を実行。
もう一度ログを見るとエラーも無くなってました。
メデタシ、メデタシ。
それにしても、一体何が起こったんだろと思ってさらっと調べたところ、どうやらmysqlのアップグレードが行われた模様(多分。
それで、MySQLの設定オプション:default-character-set
は廃止になっていたようです。
よーくログを見返すと
[Warning] '--default-character-set' is deprecated and will be re moved in a future release. Please use '--character-set-server' instead.
なんて出てました。
ま、直ってよかった!
1件のコメント