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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-14 01:30:10972ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。