无法在 Ubuntu Server 17.10 中通过 TCP 连接连接到 MySQL Server 5.7 - 只能通过本地套接字

无法在 Ubuntu Server 17.10 中通过 TCP 连接连接到 MySQL Server 5.7 - 只能通过本地套接字

我知道这个问题看起来和许多其他问题重复,但在你给我差评之前,我已经阅读了其他相关问题,但没有解决我的问题。请查看我的环境:

$ ps -Af | grep mysqld
mysql      901     1  0 10:11 ?        00:00:00 /usr/sbin/mysqld
ubuntu    3229  2542  0 10:13 pts/0    00:00:00 grep --color=auto mysqld  

更多输出:

# netstat -lnp | grep mysql
tcp        0      0 0.0.0.0:3306
unix  2      [ ACC ]     STREAM     LISTENING     19274    901/mysqld           /var/run/mysqld/mysqld.sock

我认为这也很有用:

$ cat /etc/mysql/mysql.conf.d/mysqld.cnf | grep bind-address
bind-address = 0.0.0.0

没有激活跳过网络选项,但即便如此,我仍然可以通过本地套接字连接访问 MySQL!

已将 3306 添加到 ufw 允许列表,甚至尝试在禁用 ufw 的情况下进行连接。

127.0.0.1 或我的 LAN IP 192.168.1.100 或 0.0.0.0 都不起作用,我一直收到相同的输出错误:

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (97)

这是端口 3306 上的 nmap:

# nmap -sS -O -p3306 127.0.0.1
PORT     STATE SERVICE
3306/tcp open  mysql

telnet 输出:

$ telnet 127.0.0.1 3306
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
[
5.7.21-0ubuntu0.17.10.1!5GAC"?0)kLQBLmysql_native_passwordConnection closed by foreign host.

error.log 中有几行有趣的内容:

2018-04-12T13:28:58.588887Z 0 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
2018-04-12T13:28:58.588895Z 0 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
2018-04-12T13:28:58.588919Z 0 [Note] Server socket created on IP: '0.0.0.0'.
2018-04-12T13:28:58.593960Z 0 [Note] Event Scheduler: Loaded 0 events
2018-04-12T13:28:58.594091Z 0 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.7.21-0ubuntu0.17.10.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Ubuntu)

在我看来,它应该可以正常工作...欢迎任何帮助!

=)

[更新]

添加了请求后的 iptables 输出。# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

答案1

注释掉 bind-address 行。注释掉该行将强制 MySQL 服务器接受连接,无论来源如何。理论上设置 0.0.0.0 应该可以达到同样的效果,但我个人以前遇到过类似的问题。

注释掉绑定地址行意味着不会对更改是否生效产生疑问。评论一下进展如何,我们会找到解决方案

相关内容