質問:
Centos システムでは、mysql データベースを使用します。ホスト名が 127.0.0.1 の場合は接続に成功しますが、localhost を使用した場合は接続に失敗します。
分析:
mysql データベースに接続するには 2 つのオプションがあります。
1. TCP/IP (ネットワーク接続)
TCP/IP ソケット接続メソッドは、あらゆるプラットフォーム上の MySQL によって提供される接続メソッドであり、ネットワーク上で最も一般的に使用される接続メソッドでもあります。 。 方法。このメソッドは、TCP/IP 接続上でネットワーク ベースの接続リクエストを確立します。通常、クライアントは 1 つのサーバー上にあり、MySQL インスタンスは別のサーバー上にあります。2 つのマシンは TCP/IP ネットワークを通じて接続されます
2. Unix ドメイン ソケット接続 (非ネットワーク接続)
Linux および Unix 環境では、Unix ドメイン ソケット接続も使用できます。 Unix ドメイン ソケットは実際にはネットワーク プロトコルではないため、MySQL クライアントとデータベース インスタンスが同じサーバー上にある場合にのみ使用できます。ソケット ファイルのパスは、-socket=/tmp/mysql.sock のように構成ファイルで指定できます。
(推奨チュートリアル: centos 使用法チュートリアル )
解決策:
1. ローカル mysql のソケット ファイルの場所を確認します
mysqld --verbose --help | grep socket
2. クエリ結果で同様の項目を見つけます
socket /var/run/mysqld/mysqld.sock
3. php 構成ファイルで、次の項目を見つけます:
mysql.default_socket =
4. それを次のように変更します。 :
mysql.default_socket = 找到的socket路径
5. ファイルを保存し、php-fpmを再起動します
推奨関連ビデオ チュートリアル: linux ビデオ チュートリアル
以上がcentos は localhost を使用してデータベースに接続できませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。