【 環境: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