MySQLエラー「Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’」
目次
今回はMySQLサーバーに接続する際に「Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’」のようなエラーが発生したので解決方法を残していきたいと思います。
使用環境
- mysql ver 8.3.0
- mac OS Sonoma 14.3
エラー内容
Homebrewでmysqlをインストール後、`$ mysql -u root -p`を実行すると下記エラーが吐かれました。
Can't connect to local MySQL server through socket '/tmp/mysql.sock'(28)
考えられる原因
MySQLサーバーが起動していないかクラッシュしている
MySQLサーバーが正しく起動しているか確認してください。mysql.server status
コマンドを使用すると状態を確認できます。
MySQLソケットの場所が正しくないか存在しない
MySQLが /tmp/mysql.sock
ファイルを期待しているが、実際にはその場所にソケットが存在しない可能性があります。MySQLが他の場所でソケットを探しているかもしれません。MySQLの設定ファイル(通常は my.cnf
または my.ini
)でソケットの場所を確認してください。
MySQLの起動時にエラーが発生している
MySQLのログファイルにエラーが記録されている可能性があります。MySQLのログの場所は設定により異なりますが、通常は /var/log/mysql/error.log
や /usr/local/var/mysql/<your-computer-name>.err
にあります。
MySQLクライアントが正しく設定されていない
MySQLクライアントが正しいソケットを参照していることを確認してください。my.cnf
(または my.ini
)の socket
パラメータが正しいか確認してください。
解決方法
mysql.sockファイルの作成
sudo touch /tmp/mysql.sock
mysql.sock
ファイルを作成したら、MySQLを起動し直します。
sudo mysql.server restart
ERROR! MySQL server PID file could not be found!
Starting MySQL
... ERROR! The server quit without updating PID file (/usr/local/var/mysql/*****.local.pid).
MySQLサーバーのPIDファイルが見つかりません!と新たなエラーが発生したので下記コードを実行します。
sudo touch /usr/local/var/mysql/*****.local.pid
******は下記コマンドを実行し、ホスト名を確認の上、置き換えてください。
uname -n
PIDファイルを作成後、再度確認をします。
sudo mysql.server restart
Shutting down MySQL
... SUCCESS!
Starting MySQL
.. SUCCESS!
これでエラーの解消をすることができました。
それでも解決できない場合
macOS Ventura 13.6.4からmac OS Sonoma 14.3へバージョンアップすることでエラーを解消することができました。