エラー: Unix ソケット経由で MySQL 接続を確立できません
PHP を使用して Mac のターミナル経由で MySQL データベースに接続しようとすると場合、次のエラーが発生します:
Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in
このエラーは、MySQL に問題があることを示しています。ソケット ファイル。データベースへの UNIX ベースの接続に使用されます。
解決策: シンボリック リンクを作成します
この問題の根本的な原因は、 macOS 上のソケット ファイルの場所。これを解決するには、別のファイルを指すファイルであるシンボリック リンクを作成する必要があります。これにより、Mac が間違った場所にある場合でも、必要なソケット ファイルを見つけることができます。
手順:
ソケット ファイルの場所を確認する
次のコマンドを使用してソケットの場所を確認しますfile:
ls -l /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
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
注:十分な権限を取得するには、コマンドの前に sudo を使用する必要があります。
以上がPHP MySQL 接続が「そのようなファイルまたはディレクトリはありません」というメッセージで失敗するのはなぜですか? シンボリック リンクを使用して修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。