事情是这样的,今天在Linux上装了个MySQL,用win10远程连接的时候一直报MySQL 2003-can’t connect to MYSQL server on’localhost’(10038) 错误,但是在本机连接没有问题,问题解决后写个博客记录一下

一般报这个错误的原因有以下几个
1.MySQL服务没有启动
2.找不到mysql服务的IP
3.用户没有权限使用远程连接
4.服务器没有开启3306端口或修改后的端口(我就是因为这个错误浪费了一下午的时间,尴尬)
5.端口填写错误

其中原因一没什么好说的,把服务启动一下就行
原因二的话需要好好检查一下网络
原因三可以修改mysql库中的user表把user表中的host改成%就行
sql语句

update user set host='%' where user='root';

注:root为mysql的用户名

原因四 可以先telnet命令测一下端口是否开启(MySQL默认端口为3306)

telnet ip 端口
如
telnet 172.16.210.153 3306

如果成功会进入一个新的页面如
这里写图片描述
如果不成功则显示
这里写图片描述
端口如果没有开放可以使用以下命令打开端口

 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

其中3306是端口号,开启后再使用telnet命令测试一下,不出意外此时端口就已经打开了

原因五 可以输入sql查询mysql服务使用的端口号

show global variables like 'port';  

然后把端口号改一下就行

如有错漏之处欢迎指正

Logo

更多推荐