GattsCOM

ブログ

BLOG

  1. Home
  2. Blog

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