かきスタンプ

福岡で物流系のエンジニアやってます

MySQL起動時のエラー:Can't connect to local MySQL server through socket

【 環境:Amazon Linux AMI 2016.09.0 (HVM) 】

MySQL起動時に時々、以下のようなエラーが出てた。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

MySQLデーモンの再起動で解決可。コマンドは以下。

sudo /etc/init.d/mysqld restart

mysql.sock は、サーバがローカルクライアントと通信する時に使用するファイルで、接続時に自動生成される模様。 デーモンが異常終了するか、socketファイルが異常を起こした場合に発生するみたい。 デーモンの起動確認は「service --status-all」か「ps aux」あたりで。

EC2を使っていて、AMIをシャットダウンせずにインスタンスを停止させると、高確率で発生する。 ブラウザから「停止」を選択させるのではなく、ちゃんとシャットダウンさせる習慣をつけておこう。

再起動だけでは解決できないケースもあり、その場合は以下で。

sudo touch /var/lib/mysql/mysql.sock
sudo chown mysql:mysql /var/lib/mysql
sudo /etc/init.d/mysqld restart

参考サイト様