解决Can't connect to MySQL server问题

4 篇文章 0 订阅
1 篇文章 0 订阅

今天远程访问Ubuntu上的MySQL时出现错误:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.49' (60)

所以先登录服务器,用命令netstat -tuln查看一下:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN
...

可以看出,MySQL配置应该没问题的,当然也确保MySQL用户密码等都是对的。

查了半天,怀疑是不是iptables问题(但记不得之前曾经配置过iptables,所以一直没想这块):
sudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  localhost            anywhere             tcp dpt:mysql
DROP       tcp  --  anywhere             anywhere             tcp dpt:mysql
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql
ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:mysql

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
DOCKER     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain DOCKER (1 references)
target     prot opt source               destination

很奇怪这边怎么会有一个对mysql访问的DROP规则,但还是先删为敬!
这次再iptables命令多加个参数:
sudo iptables -L -n --line-number

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
3    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
4    ACCEPT     tcp  --  127.0.0.1            0.0.0.0/0            tcp dpt:3306
5    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306
7    ACCEPT     tcp  --  192.168.1.0/24       0.0.0.0/0            tcp dpt:3306

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination
1    DOCKER     all  --  0.0.0.0/0            0.0.0.0/0
2    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
4    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

这下每条规则前都有了序号,所以可以根据序号直接来修改或删除:

sudo optables -D INPUT 5
把INPUT的第五条规则删除,然后去客户端再次登录MySQL,成功!

引用\[1\]和\[2\]提到,当使用mysql命令时报错"Can't connect to MySQL server on localhost (10061)"或者使用"net start mysql"命令时报错"服务名无效",通常是因为mysql服务没有启动。因此,第一步应该是检查mysql服务是否已经启动。可以以管理员身份运行cmd.exe,然后输入"net start mysql"来启动mysql服务。如果服务已经启动,但仍然无法连接到MySQL服务器,可能是其他原因导致的。 引用\[3\]提到,有时候重启服务器后仍然出现MySQL 'localhost' (10061)错误。这可能不是由于数据库链接打开过多导致的,而是其他问题。为了解决这个问题,可以在网上查找解决方法,或者尝试重新安装MySQL服务器。 综上所述,当出现"Can't connect to MySQL server on localhost (10061)"错误时,首先应该检查mysql服务是否已经启动。如果服务已经启动但仍然无法连接,可能是其他问题导致的,可以尝试查找解决方法或重新安装MySQL服务器。 #### 引用[.reference_title] - *1* *3* [Can‘‘t connect to MySQL server on localhost (10061)解决方法](https://blog.csdn.net/jxnuzhouguohong/article/details/129024243)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [can‘t connect to mysql server on localhost解决办法。 net start mysql——无法启动服务,原因可能是已...](https://blog.csdn.net/m0_72084056/article/details/126418662)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值