問題:
試行時MySQL サーバーにリモートで接続しようとすると、「ホスト 'xxx.xx.xxx.xxx' はアクセスを許可されていません」というエラーが発生します。データベースに適切なユーザー権限があるにもかかわらず、この MySQL サーバーに接続します。
考えられる原因:
このエラーは多くの場合、セキュリティ上の予防措置またはユーザーの設定が間違っていることが原因で発生します。権限。
解決策:
1.新しい管理者アカウントを追加します:
アクセスが制限された専用の管理者アカウントを作成します:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' -> WITH GRANT OPTION;
2.既存のユーザー権限の変更:
既存の「root」ユーザーのユーザー権限を編集して、付与する権限を減らし、特定のホストへのアクセスを制限します:
mysql> REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%'; mysql> GRANT SELECT, UPDATE ON table_name TO 'root'@'specific_ip';
3.ワイルドカード権限の削除:
ワイルドカード文字 (%) または (_) を含むデータベース内のユーザー エントリを削除します。それらを特定のホスト値に置き換えます。
4.権限のフラッシュ:
ユーザー権限を変更した後は、必ず FLUSH PRIVILEGES ステートメントを発行して付与テーブルを更新してください:
mysql> FLUSH PRIVILEGES;
注:
一般に、過剰な権限 (例: ALL) を付与することはお勧めできません。 . の特権) は、制限されたアクセスのみを必要とするユーザーに与えられます。特定の役割に必要な最小限の権限のみを付与することを検討してください。
以上が「ホスト 'xxx.xx.xxx.xxx' は接続を許可されていません」という MySQL エラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。