PHPを5.3から5.4にアップデートしたらMySQLが接続できなくなった時の対処
Laravelフレームワークを使用しようと、古いサーバーに開発環境入れようと思い
PHPのバージョンを調べたらPHP5.3.3だった。
Laravel4.2を入れようと思ったら、PHP5.4以上だったのでPHPのバージョンをアップデートした。
その際に、MySQLもアップデートされてMySQL5.1.73から5.5.62になった。
ここで、PHPは問題なく動いてたけどMySQLで接続エラーが出ていて結構ハマっちゃいまいた。
Can't connect to local MySQL server through socket '/tmp/mysql.sock'(2)
↑のエラーが出ていたので、グーグル先生に聞いてみたら
mysql.sockがないよと言われる
/var/lib/mysqlの中を確認する
mysql.sockが確かに無い。
ということで、mysql.sockをとりあえず作る。
touch mysql.sock ls -la
mysql.sockが出来たので、再度確認する
Can't connect to local MySQL server through socket '/tmp/mysql.sock'(111)
お?次は()の中が2 → 111になったぞ?
調べてみると、ソケットエラーらしい。
パーミッションを見て変更してみる。
chmod 777 mysql.sock
再度試したけど接続エラーが消えない(111のまま)
うーん・・・・・
エラーを見てみよう
vi /var/log/mysqld.log [ERROR] /usr/libexec/mysqld: unknown variable 'default-character-set=utf8'
お、なんかエラー上がってるやん
ちょっと調べてみるとMySQLのアップデートしたバージョンで'default-character-set=utf8'は使えないよ!って怒られてるらしい
それじゃなくて、character-set-server=utf8を使ってね!ってどこかに書いてました。
my.cnfの設定を変更する
//my.cnf #default-character-set=utf8 ← コメントアウト character-set-server=utf8 ← 追加
保存して、mysqlサーバーをリスタートしたら、無事に起動してくれました。
ハマって3時間も悩んでしまった・・・勿体無いT_T