MySQL ユーザーのホスト名: 'localhost' と '%'
MySQL データベースを構築する場合、多くの場合、次のコマンドを使用して複数のユーザーを作成する必要があります。個別のアクセス権限。これらのユーザーのホスト名として「%」と「localhost」のどちらを指定するかを決定するときに、よく議論が起こります。この質問では、これら 2 つのホスト名の違いについて詳しく説明します。
問題:
開発者は、2 人のユーザー (appuser とサポート) に対して 4 つのユーザー アカウントを作成することを主張しています:
ここでの質問は、'%' ワイルドカードが 'localhost' をカバーしているように見えることを考慮すると、なぜこのような設定が必要なのかということです。
答え:
ホスト名「localhost」は、MySQL では特別な意味を持ちます。 TCP/IP 接続に適用される「%」-ワイルドカードとは異なり、「localhost」は UNIX ソケット (または Windows システムの名前付きパイプ) 経由で確立された接続のみを指します。
MySQL では、「%」-ワイルドカードでは localhost が除外されるため、別のホスト名として明示的に指定する必要があります。この設定により、さまざまなネットワーク インターフェイスからのユーザー アクセスをきめ細かく制御できます。各ユーザーに「%」と「localhost」の両方を指定すると、次のことが実現します:
以上がMySQL ユーザーのホスト名を定義するときに「%」と「localhost」の両方を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。