ホームページ > データベース > mysql チュートリアル > MySQL ユーザーのホスト名を定義するときに「%」と「localhost」の両方を使用するのはなぜですか?

MySQL ユーザーのホスト名を定義するときに「%」と「localhost」の両方を使用するのはなぜですか?

Patricia Arquette
リリース: 2024-10-30 18:08:31
オリジナル
414 人が閲覧しました

Why Use Both '%' and 'localhost' When Defining MySQL User Hostnames?

MySQL ユーザーのホスト名: 'localhost' と '%'

MySQL データベースを構築する場合、多くの場合、次のコマンドを使用して複数のユーザーを作成する必要があります。個別のアクセス権限。これらのユーザーのホスト名として「%」と「localhost」のどちらを指定するかを決定するときに、よく議論が起こります。この質問では、これら 2 つのホスト名の違いについて詳しく説明します。

問題:

開発者は、2 人のユーザー (appuser とサポート) に対して 4 つのユーザー アカウントを作成することを主張しています:

  • appuser@'%'
  • appuser@'localhost'
  • support@'%'
  • support@'localhost'

ここでの質問は、'%' ワイルドカードが 'localhost' をカバーしているように見えることを考慮すると、なぜこのような設定が必要なのかということです。

答え:

ホスト名「localhost」は、MySQL では特別な意味を持ちます。 TCP/IP 接続に適用される「%」-ワイルドカードとは異なり、「localhost」は UNIX ソケット (または Windows システムの名前付きパイプ) 経由で確立された接続のみを指します。

MySQL では、「%」-ワイルドカードでは localhost が除外されるため、別のホスト名として明示的に指定する必要があります。この設定により、さまざまなネットワーク インターフェイスからのユーザー アクセスをきめ細かく制御できます。各ユーザーに「%」と「localhost」の両方を指定すると、次のことが実現します:

  • 「%」ホスト名は、任意のリモート IP アドレスからのアクセスを許可します。
  • 「localhost」 ' ホスト名は、UNIX ソケット (または名前付きパイプ) を使用した同じサーバー内からのアクセスを許可します。

以上がMySQL ユーザーのホスト名を定義するときに「%」と「localhost」の両方を使用するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート