mysql - 只是无法远程连接到 MySQL EC2 ubuntu 实例

标签 mysql networking ubuntu amazon-ec2 port

我知道有几个线程与此有关,但我已经尝试了所有方法并且束手无策 - 我只希望能够连接到托管在 EC2 上的 MySQL 数据库。

  1. 我已将端口 3306 添加到 EC2 上实例的安全组。

  2. 我已经从 my.cnf 文件中删除了 bind_address(默认情况下不再使用 skip-networking)并重新启动了 MySQL。我也尝试过 bind_address=(外部 IP,以 54 开头。)和 bind_address=0.0.0.0。

  3. UFW 状态未激活。

  4. 服务器上,运行:

    mysql -u remote-user -p -h MY_EXTERNAL_IP

有效!但这对我的客户不起作用,我得到:

`ERROR 2003 (HY000): Can't connect to MySQL server on 'MY_EXTERNAL_IP' (111)`
  1. 我创建了我当前的 MySQL 用户:

    GRANT USAGE ON *.* TO 'remote-user'@'localhost' IDENTIFIED BY 'password';

    GRANT USAGE ON *.* TO 'remote-user'@'%' IDENTIFIED BY 'password';

  2. 我什至跑了:

    sudo iptables -P INPUT ACCEPT

    sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

    sudo iptables -I INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

  3. Telnet 无法连接:

    回显 X | telnet -e X MY_EXTERNAL_IP 3306 telnet:无法连接到远程主机:连接被拒绝

但它确实连接到 ssh 端口:

Trying 54.221.103.104...
Connected to 54.221.103.104.

netstat -a | grep 'mysql' 给出:

tcp        0      0 *:mysql                 *:*                     LISTEN     
unix  2      [ ACC ]     STREAM     LISTENING     20762    /var/run/mysqld/mysqld.sock

拜托,我已经无计可施了。我只是想不通这有什么问题,我已经研究了几个小时。

最佳答案

/etc/mysql/my.cnf 中的注释行说:bind-address 127.0.0.1 这就是原因,我花了大约 20-30 分钟来弄清楚为什么禁用防火墙时会发生这种情况:)此行使您的服务器仅在此端口上监听来自本地主机的调用。当然你必须在这之后重新启动mysql服务。

关于mysql - 只是无法远程连接到 MySQL EC2 ubuntu 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18936041/

相关文章:

mysql - 如何按顺序选择引用行?

networking - ARP报文中的源MAC地址和封装时指定的源MAC地址有什么区别?

ubuntu - pycharm滚动选项卡而不是文档

php - 登录后根据mysql中的字段变量转到[location]

mysql - 此查询 MYSQL 中有什么失败

mysql - LOAD DATA LOCAL INFILE 在内部连接更新的情况下生成 null

docker - docker可以连接到主机的本地主机,但不能连接到主机网络中其他计算机的本地ip

java - 一旦到达流结尾,是否应该显式关闭连接?

database - MinorFS : Installation

linux - Bash:遍历文件并读取子字符串作为参数,执行多个实例