从远程服务器连接到AmazonEC 2上的MySQL

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (15)

我想从我的本地机器连接到EC2上的db,但我无法做到并且已经尝试了所有的东西--我正在使用这个命令连接到EC2:

mysql -uUSERNAME -hEC2_IP -pPASSWORD

生成此错误。

错误2003(HY000):无法连接到IP上的MySQL服务器(110)

我用

skip networking
bind-address            = 0.0.0.0

仍然无法连接到数据库

提问于
用户回答回答于

可能有以下原因之一:

  1. 需要在Amazon Security Group中输入一个条目,以允许从你的计算机远程访问AmazonEC 2实例。--我相信这是由你完成的,因为从问题来看,似乎已经使用0.0.0.0输入了一个条目,它允许每个人访问该机器。
  2. MySQL不允许用户从远程机器连接:-默认情况下,MySQL创建具有管理权限的根用户id。但是root id的访问仅限于本地主机。这意味着,如果尝试从远程计算机访问MySQL,具有正确密码的根用户id将无法工作。要解决这个问题,需要允许根用户或其他DB用户从远程机器访问MySQL。我不建议允许根用户id从远程计算机访问DB。可以使用通配符%指定任何远程计算机。
  3. 检查机器的本地防火墙是否未启用。如果启用了它,那么确保端口3306是打开的。
用户回答回答于

正如上面的响应中所提到的,它可能与AWS安全组和其他东西有关。但是如果你创建了一个用户并给予它远程访问“%”的权限,并且仍然收到此错误,请检查MySQL配置文件,在Debian上,可以在这里找到它:/etc/mysql/my.cnf并找到以下行:

bind-address            = 127.0.0.1

并改为:

bind-address            = 0.0.0.0

并重新启动MySQL。

关于Debian/ubuntu:

/etc/init.d/mysql restart

我希望这对你有用。

扫码关注云+社区