1

EC2サーバーに2つのインスタンスがあります。1つのインスタンスにはmysqlDBとコンテンツが保存されており、もう1つのインスタンスには最初のインスタンスに保存されているデータにアクセスします。

データベースに保存されている読み取り専用アクセス権を持つユーザーを作成する必要があります。

それで

  1. CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

    grant select on DBname.* to 'chowzter'@'localhost';

エラー

ERROR 1130 (HY000): Host 'ip-xx-xx-xxx-xxx.ec2.internal' is not allowed to connect to this MySQL server

2。CREATE USER 'username'@'ec2-xx-xx-xx-xxx.compute-1.amazonaws.com' IDENTIFIED BY 'password'

grant select on DBname.* to 'username'@'ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com';

今回使用したIPアドレスはsecond instance、コマンドで取得したの内部IPです。

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host 
valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 12:31:41:02:58:47 brd ff:ff:ff:ff:ff:ff
inet **XX.XX.XX.XXX/23** brd YY.YYY.YY.YYY scope global eth0
inet6 fe80::1031:41ff:fe02:5847/64 scope link 
valid_lft forever preferred_lft forever

IPアドレス: "XX.XXX.XX.XXX/23"

指図:mysql -hxx.xx.xxx.xxx -uusername -ppassword

エラー

ERROR 1045 (28000): Access denied for user 'username'@'ip-xx-xx-xxx-xxx.ec2.internal' (using password: YES)

それを解決する方法はありますか?

4

3 に答える 3

1

すべてのホストに対して許可を設定する必要があります。ただし、セキュリティ グループにアクセス許可を付与することでアクセスを制御します。インスタンスが停止または再起動されると、内部 IP が変更される可能性があります。

于 2013-03-12T14:35:08.283 に答える
1

最後にそれを解決しました。

まず、 を使用してユーザーを作成しました%

 CREATE USER 'name'@'%' IDENTIFIED BY 'password';

次に、そのユーザーに権限を付与できます。

grant select on DBname.* to 'name'@'%';

mysql -h xx.xx.xxx.xxx -u user -p

これにより、2 番目のインスタンスから読み取り専用モードで DB にアクセスする権限が与えられます。

于 2013-03-14T12:25:45.663 に答える
1

別のインスタンスから mysql インスタンスに接続するには、次の手順を実行する必要があります。

GRANT SELECT ON DBname.* TO 'chowzter'@'xx.xx.xxx.xx' IDENTIFIED BY 'mypassword';
FLUSH PRIVILEGES;

例:

GRANT SELECT ON facebook.* TO 'zuckerberg'@'10.0.0.420' IDENTIFIED BY 'mysecuredpassword';
FLUSH PRIVILEGES;

MySql のドキュメントを参照すると、さらに良い結果が得られます: http://dev.mysql.com/doc/refman/5.1/en/grant.html

これは、ファイアウォールが VPC 内のアクセスを許可しておらず、バインド アドレスが有効になっていないと仮定すると、ほとんど機能するはずです。

于 2015-02-26T06:55:28.417 に答える