在 RDS 的 mysql 数据库上创建用户

Create a user on mysql database at RDS

我试图创建一个用户来 g运行t 访问亚马逊 RDS 托管的数据库,用户已创建,但我无法访问它允许的数据库管理,这是我使用的代码:

GRANT ALL PRIVILEGES ON my_db.* TO 'admin'@'my.rds.domain' IDENTIFIED BY
'xxxyyyzzz';
FLUSH PRIVILEGES ;

我 运行 来自我的 mysql 客户端 — DataGrid– 另外,我验证了该用户是使用以下方法创建的:

SELECT * FROM mysql.user;

并且有效地列出了用户。

我必须在 RDS 控制台进行任何特殊配置吗?

GRANT 命令中,'admin'@'my.rds.domain' 表示从 my.rds.domain 主机连接的管理员用户被授予对 my_db 的所有对象的所有权限。

如果此管理员用户尝试从主机名 abc.microsoft.com 登录,将不会获得任何访问权限。如果 MySQL 服务器不理解主机名,它会使用 IP 来形成 user@hostname(例如 'admin'@'88.99.11.22')。如果该条目不在 mysql.users table 中,访问将被拒绝。

如果我们使用'admin'@'%',则表示从任何系统登录的admin用户都被授予权限。因此,当您将主机名更改为 % 时,访问被授予。为了更好的安全性,如果您知道用户将仅从特定 IP 或主机名登录,最好像您那样做 ('admin'@'hostname').