在 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').
我试图创建一个用户来 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').