MySQLサーバーへの接続エラー「ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'」が発生した場合の対処法を紹介します。このエラーは、MySQLサーバーが正しく起動していないか、ソケットファイルが正しく設定されていない場合に発生します。以下の手順で問題を解決できます。
開発実務1年目のボクがハマった勉強中には見なかったエラーの一つ
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
とかいうエラー
初めてこれにでくわした時は、解決までに3時間くらいは使ったと思います
なんせボクの開発現場ではみんなイヤホンをしているし、ボクは新人なのでエラーで相談は迷惑かなーーーと感じていたからです
いま思えば新人だからこそエラーとか質問しやすいですよねw
ホントばかだったわ泣
ボクの場合は db:migrate
後に//localhost:3000に接続できなくなりMysql2::Error::ConnectionError: Can't connect to MySQL server on '127.0.0.1' (111)
エラーが吐かれました
調べてみるとmysqlを起動できれば解決しそうだという事まで突き詰めました
解決策
サーバーのリスタート
まずはMySQLサーバーをリスタートします。
$ mysql.server restart
ソケットファイルの削除
次に、MySQLソケットファイルを削除します。
$ sudo rm -f /var/run/mysqld/mysqld.sock
$ sudo rm -f /tmp/mysql.sock
MySQLサーバーの再起動
MySQLサーバーを再起動します。
$ sudo /etc/init.d/mysql start
MySQLサーバー接続
MySQLサーバーに接続します。
$ mysql -u root -p
以上の手順で接続できるようになったら、通常の開発作業に戻ります。
$ rails db:migrate
$ rails s -b 0.0.0.0
初心者向け解説:
MySQL: オープンソースの関係データベース管理システム(RDBMS)で、多くのウェブアプリケーションで使用されています。
ソケットファイル: プロセス間通信のためのファイルで、データベースサーバーとクライアントの間で使用されます。
リスタート: システムやアプリケーションを再起動すること。
キーワード: MySQL, エラー2002, サーバーリスタート, ソケットファイル, データベース接続, 解決策, 初心者向け, リスタート, RDBMS, プロセス間通信