在RDS

时间:2015-12-17 02:31:52

标签: mysql amazon-web-services amazon-rds

我尝试创建一个用户来授予对amazon RDS托管的数据库的访问权限,用户已创建,但我无法访问它允许管理的数据库,此处为&#39 ; s我使用的代码:

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

我从我的mysql客户端运行了它 - DataGrid - 同样,我验证用户是使用以下命令创建的:

SELECT * FROM mysql.user;

实际上,列出了用户。

我是否需要在RDS控制台上进行任何特殊配置,或者是什么?

1 个答案:

答案 0 :(得分:0)

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

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

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