MySQLがlocalhost経由でデータベースに接続できない問題に対する完璧な解決策

MySQLがlocalhost経由でデータベースに接続できない問題に対する完璧な解決策

問題:あるサーバー上の PHP プログラムは、localhost アドレス経由でデータベースに接続できませんが、127.0.0.1 に設定すると正常に接続でき、他のデータベース サーバーにも正常に接続できます。 MySQL の権限が正しく設定されており、mysql コマンドライン クライアントを介してデータベースに正常に接続できます。

分析:これはソケットが正しく構成されていない典型的なケースです。

MySQL データベースに接続するには、TCP/IP (一般にポートと呼ばれるもの) と Unix ソケット (一般にソケットまたはソックスと呼ばれるもの) の 2 つの方法があります。ほとんどの場合、localhost はローカルマシン 127.0.0.1 を表すために使用できますが、MySQL に接続する場合は 2 つを混在させることはできず、また、MySQL の権限設定でも localhost と 127.0.0.1 が別々に設定されます。 127.0.0.1 に設定すると、システムは TCP/IP 経由でデータベースに接続します。localhost に設定すると、システムはソケット経由でデータベースに接続します。

解決策: まず、ローカル MySQL のソケット ファイルがどこにあるかを確認します。確認するコマンドは次のとおりです。

mysqld --verbose --help | grep ソケット

出力にはソケットファイルの場所が表示されます。たとえば、このサーバーでは

ソケット /var/run/mysqld/mysqld.sock

次に、それに対応するように PHP 設定ファイル php.ini を変更します。

これを見つけてください:

mysql.default_socket =

通常、この項目は空なので、次のように変更します。

mysql.default_socket = /var/run/mysqld/mysqld.sock

前の手順で照会したファイルをここに書き込んで、状況に応じて設定する必要があります。この時点で、PHP の設定が変更されています。CLI (コマンドライン) モードまたは CGI モードの場合は、すぐに有効になります。FASTCGI モードの場合は、fastcgi プロセスを再起動する必要があります。

上記の記事は、MySQL が localhost 経由でデータベースに接続できない問題を完全に解決します。これは、編集者があなたと共有するすべてのコンテンツです。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL ユーザーのホスト属性を素早く変更する方法
  • 新しく作成された MySQL ユーザーの % には localhost が含まれていますか?
  • すべてのホストがmysqlにアクセスできるようにする方法
  • MySQLがlocalhostを使用して接続できるがIPを使用して接続できない問題の解決策
  • Mysqlがデータベースに接続するときのホストとユーザーのマッチングルールについての簡単な説明

<<:  VMWare に CentOS 7.3 をインストールするグラフィカル チュートリアル

>>:  vscodeカスタムvueテンプレートの実装

推薦する

MySQL の主キーとトランザクションの詳細な説明

目次1. MySQLの主キーとテーブルフィールドに関するコメント1. 主キーと自動増分2. テーブル...

MySQL 5.7.23 解凍バージョンのインストールチュートリアル(画像とテキスト付き)

MySQLインストーラをダウンロードする公式ダウンロードアドレス: http://dev.mysq...

Unicode署名BOMによる事故原因の分析

ここでは、通常ヘッダーとフッターに対して行われるインクルード ファイルを使用している可能性があります...

MySQL 匿名ログインでデータベースを作成できない問題の解決方法

よくある質問ユーザー ''@'localhost' によるデータベー...

MySQL の replace と replace into の詳細な例 into_Mysql

MySQL の replace と replace into はどちらも頻繁に使用される関数です。...

Linux コマンドラインで電卓を使用する 5 つのコマンド

みなさんこんにちは。私は梁旭です。 Linux を使用するときに、計算を行う必要がある場合があり、そ...

SQLデータベースの14の事例の紹介

データシート /* Navicat SQLite データ転送 ソースサーバー: school ソース...

Webデザインチュートリアル(5):Webビジュアルデザイン

<br />前回の記事:Webデザイン講座(4):素材と表現について Webデザイン上級...

Centos7のホスト名を変更する3つの方法

方法 1: hostnamectl の変更ステップ1 ホスト名を確認するホスト名ステップ2 ホスト名...

VMware 仮想マシンの 3 つのネットワーク方式と原則 (概要)

1. ブリッジ: デフォルトでは VMnet0 が使用されます1. 原則:ブリッジは、それぞれ 2...

写真とテキストによる MySQL 8.0.21 インストール チュートリアル

1. ダウンロードリンクをダウンロードするダウンロードをクリックします。Oracle アカウントにロ...

MySQLデッドロックの原因と解決策

データベースは、オペレーティング システムと同様に、複数のユーザーが使用する共有リソースです。複数の...

MySQL のインデックス障害の一般的なシナリオと回避方法

序文これまでにも、一部の SQL ステートメントを不適切に使用すると MySQL インデックスが失敗...

ネイティブjsは9マスグリッドのドラッグアンドドロップを実現します

ネイティブJSを使用して9つの正方形のグリッドを記述し、9つのグリッドの位置をドラッグして変更する効...

Vue 開発プロジェクトで Font Awesome 5 を使用する方法

目次依存関係をインストールする構成使用1.アイコン検索ページに入る2. 使用したいアイコンの英語名を...