mysql - 从 EC2 上的不同实例访问 mysql 数据库

标签 mysql amazon-ec2

我在 EC2 服务器中有 2 个实例,一个实例具有 mysql 数据库和其中存储的内容,另一个实例用于访问存储在第一个实例中的数据。

我需要创建一个用户,该用户具有存储在数据库中的只读访问权限。

所以

  1. 创建用户 '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。 创建用户 'username'@'ec2-xx-xx-xx-xxx.compute-1.amazonaws.com' 由 'password' 标识

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

这次使用的ip地址是命令获取到的第二个实例的内部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)

知道如何解决吗?

最佳答案

您应该为任何主机设置授权。但是通过向安全组授予权限来控制访问。如果实例停止/重新启动,内部 IP 可能会更改。

关于mysql - 从 EC2 上的不同实例访问 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15362307/

相关文章:

mysql - 更新表中所有行的列

MySQL JSON_SEARCH - 不使用双引号

php - 如何处理 SQL 字段中的数组?

amazon-ec2 - Ray 未在 EC2 上启动 worker

amazon-ec2 - 在 aws 上使用弹性 IP 地址公开 kubernetes 服务

php - 如何检索mysql中3个表的数据?

php - 使用内爆将 HTML 表单 $_POST 数组插入 MySQL

postgresql - 在 aws(ubuntu) 中安装 psycopg2 时出错,如何解决?

amazon-web-services - AWS EC2实例上的docker微服务上的kubernetes

amazon-web-services - AWS Cloudformation Codecommit S3 400 异常