%
ホストのアクセス許可に関する mysql 管理者の問題がありました。
- EC2_DB を IP
10.55.142.100
と DNSで起動ip-10-55-142-100.ec2.internal
- EC2_web が IP
10.55.142.144
と DNSで起動ip-10-55-142-144.ec2.internal
- EC2_DB と EC2_WEB は同じセキュリティ グループにあり、DB ポート (3306) 経由でアクセスできます。
- EC2_DB には、DB ルート ユーザーがローカルにアクセスして完全に管理できる mysql DB があります。
- EC2_DB mysql DB にはリモート ユーザーがいます
'my_user'@'%' IDENTIFIED BY PASSWORD 'password'
- EC2_WEB からの mysql への bash 呼び出しは失敗します:
mysql -umy_user -p -h ip-10-55-142-100.ec2.internal
、明示的な IP、パブリック DNS などへのホスト参照も同様です。
mysql DB のユーザー権限が間違っているため、ステップ 6 が失敗したようです。これが必要でした:
GRANT ALL PRIVILEGES ON *.* TO 'my_user'@'ip-10-55-142-144.ec2.internal' IDENTIFIED BY PASSWORD 'password'
どのリモートサーバーでも機能すると思いたいのですが、そうで%
はありませんでした。
ここで使えない理由を教えてください%
。
現状では、クラスター内のすべてのクライアントにホスト固有のアクセス許可を追加する必要があります。これは、(セキュリティが向上したにもかかわらず) オーバーヘッドがはるかに大きくなります。