ホームページ > データベース > mysql チュートリアル > MySQL のワイルドカード ホスト '%' が自動的にリモート アクセスを許可しないのはなぜですか?

MySQL のワイルドカード ホスト '%' が自動的にリモート アクセスを許可しないのはなぜですか?

Patricia Arquette
リリース: 2024-12-14 01:30:10
オリジナル
974 人が閲覧しました

Why Doesn't MySQL's Wildcard Host '%' Automatically Grant Remote Access?

MySQL ユーザーのリモート アクセス

ユーザー user@'%' とパスワード パスワードの場合、ワイルドカード文字 % が任意のユーザーからのアクセスを示しているにもかかわらず、接続は失敗します。 host.

失敗の理由

MySQL ユーザーのホスト フィールドのワイルドカード文字 % は、リモート アクセスを自動的に許可しません。リモート接続するには、次の手順が必要です:

  1. MySQL をマシンの IP アドレスにバインドします: my.cnf でポート 3306 をマシンの IP アドレスにバインドするように MySQL を構成します。 (Windows では my.ini) として次のとおりです:

    bind-address        = xxx.xxx.xxx.xxx
    ログイン後にコピー
  2. ローカルホストとワイルドカードでユーザーを作成: 次のコマンドを使用して、ローカルホストと % ワイルドカード ホストの両方にユーザーを作成します:

    CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
    CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
    ログイン後にコピー
  3. グラント権限: ローカルホストとワイルドカードの両方からすべてのデータベースに対する完全な権限をユーザーに付与します:

    GRANT ALL ON *.* TO 'myuser'@'localhost';
    GRANT ALL ON *.* TO 'myuser'@'%';
    FLUSH PRIVILEGES;
    ログイン後にコピー

追加の考慮事項

  • オペレーティング システムによっては、リモート接続を許可するためにポート 3306 を開く必要がある場合があります。
  • DNS ルックアップを防止するために、MySQL 設定に Skip-name-resolve オプションが含まれていることを確認してください。
  • 次のコマンドでリモート接続をテストします:

    mysql -h <hostname> -u myuser -pmypass
    ログイン後にコピー

以上がMySQL のワイルドカード ホスト '%' が自動的にリモート アクセスを許可しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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