Amazon EC2 - 无法远程连接到 MariaDB

Amazon EC2 - Can't connect remotely to MariaDB

我正在配置我的 EC2 服务器。我设法安装了 php、laravel 等(虽然有点痛苦)。现在我

但仍然无法从远程登录,我得到

ERROR 2003 (HY000): Can't connect to MySQL server on 'yyz.yyz.yyz.yyz' (110)

我能做什么?我没有任何 iptables,一切都应该很简单......但它不是 :-(

我正在尝试使用此字符串从 Amazon 网络外部进行连接

mysql -u myuser -pmypwd -h yyz.yyz.yyz.yyz -D myschema

请注意,我可以使用

从服务器本身进行连接
mysql -u myuser -p -h localhost -P 3306 -D myschema

谢谢 马可

P.S。作为参考,这是我的 MariaDB 用户

+---------------------------------------------+-----------+
| host                                        | user      |
+---------------------------------------------+-----------+
| %                                           | myuser    |
| 127.0.0.1                                   | root      |
| ::1                                         | root      |
| ip-yyz-yy-zz-yyz.us-west-2.compute.internal | root      |
| localhost                                   | root      |
| localhost                                   | myuser    |
+---------------------------------------------+-----------+

EC2 实例有两个 IP 地址,内部和外部。

在我看来,您的用户 table 授权从内部 IP 地址进行访问。

ip-yyz-yy-zz-yyz.us-west-2.compute.internal | root 

您是否尝试从 AWS 外部连接到内部地址?那行不通™。

如果您尝试连接到外部地址,则必须将其添加到您的用户列表中。

对于故障排除而非生产,您可以添加 * | root 用户。

您也可以通过浏览器尝试 https://xyz.xyz.xyz.xyz:3306。它不会连接,但如果它超时,您就知道没有从您的机器到该地址的路由。如果它产生某种乱码,您会立即知道 MySQL 端口可见。

好消息和坏消息。

  • 好消息:我解决了这个问题!
  • 坏消息:我们都是对的。在安全组中打开3306端口就可以了。问题是——出于我不知道的原因——我一直在寻找错误的安全组。我注销,再次登录并看到正确的。在那里启用端口 3306 并且 - 神奇 - 它起作用了!

感谢所有花时间帮助我解决这个问题的人!