Amazon EC2 - 无法远程连接到 MariaDB
Amazon EC2 - Can't connect remotely to MariaDB
我正在配置我的 EC2 服务器。我设法安装了 php、laravel 等(虽然有点痛苦)。现在我
- 在 MariaDB 上创建了一个用户
- 已从远程授予所有权限
- 在my.cnf
中启用了绑定地址=0.0.0.0
- 已测试本地登录,有效
- 在安全组中为 Mysql/Aurora、端口 3306、TCP、所有 IP、传入和传出
打开规则
但仍然无法从远程登录,我得到
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 并且 - 神奇 - 它起作用了!
感谢所有花时间帮助我解决这个问题的人!
我正在配置我的 EC2 服务器。我设法安装了 php、laravel 等(虽然有点痛苦)。现在我
- 在 MariaDB 上创建了一个用户
- 已从远程授予所有权限
- 在my.cnf 中启用了绑定地址=0.0.0.0
- 已测试本地登录,有效
- 在安全组中为 Mysql/Aurora、端口 3306、TCP、所有 IP、传入和传出 打开规则
但仍然无法从远程登录,我得到
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 并且 - 神奇 - 它起作用了!
感谢所有花时间帮助我解决这个问题的人!