服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|

服务器之家 - 数据库 - Mysql - Navicat Premiun远程连接MySQL报错10038解决方案

Navicat Premiun远程连接MySQL报错10038解决方案

2021-03-08 17:19_不正 Mysql

这篇文章主要介绍了Navicat Premiun远程连接MySQL报错10038解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

远程连接MySQL失败,可能有一下原因:

1、小伙子/小姑凉注意一下你的ip是否输入正确了!!

2、网络或防火墙问题

  1)、排查网络问题

    使用命令:ping 192.168.1.1 查看网络请求是否超时。

    正常接收数据进行下一步排查

  2)、排查云服务器防火墙是否将其挡住。

    使用命令:telnet 192.168.1.1 3306,如果连接失败,有两个原因

    a)、查看云服务器端口是否开放。

       开放情况(我这边使用的是阿里云):   

Navicat Premiun远程连接MySQL报错10038解决方案

       开放端口配置:

Navicat Premiun远程连接MySQL报错10038解决方案    

     Navicat Premiun远程连接MySQL报错10038解决方案

      如果云服务器的端口已经开放了。但是还是访问不到服务器的3306端口。接着往下看。

    b)、查看服务器查看防火墙是否开启。

# systemctl status firewalld

Navicat Premiun远程连接MySQL报错10038解决方案

    我这边服务器是未开放状态,所以就不存在被防火墙拦截这一说。

    如果开启了防火墙,telnet还是失败,那就通过netstat查看3306的端口状态:

# netstat -talnp 3306tcp6 0 0 :::3306 :::* LISTEN 4591/mysqld (正常情况)

    如果netstat 3306 端口没有出现上面的情况。那么需要你将你本机的mysql服务启动动一下再次进行线下连接。

3、检查用户访问权限

  1)、进入msyql

   2)、查看用户访问权限

     Navicat Premiun远程连接MySQL报错10038解决方案

    如图所示,查看你远程账户(User)所对应的 Host 是否为 %;

    如果远程账户所对应的Host为 127.0.0.1/localhost,那么这个用户就只能本机访问,其它机器用这个用户帐号访问是没有权限,必须host改为%,表示允许所有机器访问。

    修改命令如下:

?
1
2
3
mysql> update user set host='%' where user='你要修改的账户';
##修改成功后记得刷新一下权限
mysql> flush privileges;

    最后在查看一下权限,进行远程连接。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/buzheng/p/12469167.html

延伸 · 阅读

精彩推荐