1

尝试使用 Heidi 在本地 root 访问我们的 EC2 实例,使用客户端中的外部 IP 产生错误消息:

语句 #0 中的 SQL 错误 (1045):拒绝访问用户 'root'@'internal.host.net'(使用密码:YES)

与内部 IP 连接,会产生不同的错误:

语句 #0 中的 SQL 错误 (2003):无法连接到“10.0.5.152”上的 MySQL 服务器 (10060)

/etc/hosts: _

127.0.0.1 localhost

没有内部 IP 行,也没有 EC2 外部主机名行:

10.0.5.152 主机名

+--------------------------------------+
| Grants for @localhost                |
+--------------------------------------+
| GRANT USAGE ON *.* TO ''@'localhost' |
+--------------------------------------+
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*D0**********' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------+
user
root localhost
root ip-10-0-5-152
root 127.0.0.1
     localhost
     ip-10.0.5.152

我执行的命令是:

mysql> grant all privileges on *.* to 'root'@'%' with grant option;
Query OK, 0 rows affected (0.00 sec)
4

1 回答 1

1

我遇到了类似的问题,因此我通过授予所有权限创建了新用户,然后我在 ec2-instance 上连接,然后它允许我连接,你也可以这样做,

以下是步骤。

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

GRANT ALL PRIVILEGES ON *.* TO 'username'@'your_public_ip' WITH GRANT OPTION;

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

GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
于 2014-11-20T06:25:12.580 回答