ホームページ >バックエンド開発 >PHPチュートリアル >ターミナルに「No such file or directory」というメッセージが表示されて MySQL 接続が失敗するのはなぜですか?
Unix ソケット経由の接続: 「そのようなファイルまたはディレクトリはありません」エラーの解決
エラー「警告: mysql_connect(): [2002] が発生しました」 ] そのようなファイルまたはディレクトリはありません (経由で接続しようとしています) unix:///tmp/mysql.sock) in」をターミナルから MySQL データベースに接続しようとすると、混乱する可能性があります。ブラウザから実行するとスクリプトは適切に機能しますが、ターミナルで問題が発生します。
問題について
macOS では、MySQL 構成により、スクリプトの場所が誤って認識されることがあります。ソケットファイル。ソケットは /tmp/mysql.sock または /var/mysql/mysql.sock に存在する可能性がありますが、アプリケーションが間違った場所でソケットを検索する可能性があります。
エラーの解決
ありがたいことに、解決策は簡単で、シンボリック リンクを設定する必要があります。 /tmp/mysql.sock は存在するが /var/mysql/mysql.sock が存在しない場合は、次のコマンドを実行します。
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock
逆に、/var/mysql/mysql.sock は存在するが /tmp /mysql.sock はそうではありません。次のコマンドを使用してください:
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
シンボリック リンクを使用すると、Mac は検索する場所に関係なく、必要なソケットを見つけることができます。
以上がターミナルに「No such file or directory」というメッセージが表示されて MySQL 接続が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。