すべてのリモート MySQL 接続の許可: ジレンマ
SQL Server から MySQL に移行する際に、リモート接続の許可の違いに遭遇した可能性があります。データベースへのアクセス。 SQL Server では開発者はホスト、ユーザー名、パスワードを使用して接続できますが、MySQL では GRANT コマンドを使用して個別にアクセスを許可する必要があります。
このプロセスは、特に開発者が頻繁にネットワークを変更する場合には面倒になる可能性があります。ただし、このプロセスを潜在的に簡素化し、すべてのリモート接続を許可できるソリューションがあります。
の GRANT ALL。 コマンド
によるとライアン、次のコマンドを実行してすべてのリモート接続を許可できます:
GRANT ALL ON *.* to user@'%' IDENTIFIED BY 'password';
ホスト値を '%' に設定すると、任意の IP アドレスからのアクセスが許可されます。ただし、MySQL ドキュメントに記載されているように、このコマンドでは即時アクセスが許可されない場合があります。これを完全に有効にするには、同じユーザー名で対応するユーザー アカウントをローカルホスト上に作成する必要もあります:
GRANT ALL ON *.* to user@localhost IDENTIFIED BY 'password';
これが必要なのは、MySQL によって自動的に作成される匿名ユーザー アカウントが優先されるためです。ユーザー アカウントは、ワイルドカード ホスト仕様でのみ存在します。
セキュリティへの影響を考慮する
このソリューションを実装する前に、潜在的なセキュリティへの影響を考慮してください。すべてのリモート接続を許可すると、データベースが不正アクセスにさらされる可能性があります。したがって、適切なセキュリティ対策が講じられている開発環境でのみこれを使用することを強くお勧めします。
運用データベースの場合、特定の IP アドレスをホワイトリストに登録したり、 SSH トンネリングなどの安全な接続方法。
以上がすべてのリモート MySQL 接続を許可することはセキュリティ リスクですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。