MySQL ユーザーは、多くの場合、ソケット経由でローカル MySQL サーバーに接続できないことを示すエラー #2002 に遭遇します。ソケット。この問題は通常、MAMP または同様のプラットフォームを実行しているユーザーに影響します。
エラーを調査すると、/Applications/MAMP/tmp/mysql ディレクトリにあるはずの mysql.sock ファイルが見つからないことが判明する場合があります。これは混乱を招き、潜在的な解決策を探すことになる可能性があります。
考えられる解決策の 1 つは、MySQL をフルパスで開始して手動でテストすることです。
/Applications/MAMP/Library/bin/mysql -u root -p
このコマンドが成功すると、次のメッセージが表示されます。フルパスを使用して MySQL に正しくアクセスできることを確認します。この問題を永続的に修正するには、/tmp/mysql.sock から実際のソケットの場所へのシンボリック リンクを作成します:
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
これが完了すると、MySQL は通常のコマンドを使用して正常に起動するはずです:
mysql -u root -p
上記の方法が失敗した場合の代替アプローチは、MySQL パスを動的に見つけることです。
$($(for dir in /usr/local/mysql/bin /usr/bin /usr/local/bin /Applications/MAMP/Library/bin /Applications/XAMPP/xamppfiles/bin; do [ -x "$dir/mysql" ] && echo "$dir/mysql" && break; done) -u root -p)
このコマンドを実行すると、エラー #2002 が発生することなく MySQL が起動するはずです。これらの手順により、接続の問題が解決され、ユーザーがソケット経由で MySQL にシームレスにアクセスできるようになります。
以上がMySQL エラー #2002 を修正する方法: ソケット経由でローカル サーバーに接続していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。