所以,我已经远离服务器管理,所以也许我有点生疏 . 这是我第一次使用Debian 9和MariaDB而且“好”的东西不会让我通过TCP连接 .
在Digitalocean上与MariaDB一起使用Debian 9.3,我确实尝试过
#bind-address = 127.0.0.1
bind-address = 0.0.0.0
以上两种选择 .
我可以通过socket连接
mysql -u root -p
但不是通过TCP
mysql -u root -p -h 172.0.0.1
它需要永远(至少1分钟)然后给我以下错误消息
ERROR 2003 (HY000): Can't connect to MySQL server on '172.0.0.1' (110 "Connection timed out")
我已经搜索了很多,(这也是我使用127 ...而不是localhost,因为localhost使用套接字)但没有什么真的有用 . skip-networking不再存在,日志文件看起来不错
2018-02-24 18:36:50 140298638565952 [Note] Server socket created on IP: '::'.
2018-02-24 18:36:50 140298638565952 [Note] /usr/sbin/mysqld: ready for connections.
Version: '10.1.26-MariaDB-0+deb9u1' socket: '/var/run/mysqld/mysqld.sock' port: 3306 Debian 9.1
它确实看起来像TCP连接,但在哪里?
加上,我试图通过telet连接到端口3306,它正在工作 .
telnet 127.0.0.1 3306尝试127.0.0.1 ...连接到127.0.0.1 . 逃脱角色是'^]' . b 5.5.5-10.1.26-MariaDB-0 deb9u1q#Yt``Cl-? x8LTD6〜;扎哈%mysql_native_password
第二个补充
netstat -an | grep tcp | grep 3306
tcp6 0 0 :::3306 :::* LISTEN
那只是IPv6吗???
2 回答
0.0.0.0绑定到默认界面(127.0.0.1)
根据错误消息
"Can't connect to MySQL server on '172.0.0.1'"
,您尝试连接172.0.0.1但不是127.0.0.1好吧,经过一些挖掘,整个事情不是连接问题,这是一个权限问题 .
所以我可以通过socket连接,而不是通过root连接 .
鉴于我最初只想测试服务器是否在不同的端口上正常运行,我对此很好 .
我找到了一些链接,这些链接通过TCP覆盖root登录,对于登陆这里并需要找到root / TCP问题解决方案的人来说 .
MySQL root access from all hosts
https://www.digitalocean.com/community/questions/mariadb-enable-root-login-via-both-unix_socket-and-tcp