Navicat无法远程连接MySql服务器问题的解决方法写在前面:

操作系统:中标麒麟4.0;

数据库:MySQL5.7.26;

JDK:采用中标麒麟系统自带的openjdk;

客户端工具:Navicat;

前置条件:

MySQL服务安装完毕;

情景:

安装好mysql,本地访问正常,但同一个局域网内的机器都无法访问该服务器上的mysql数据库;

原因:

mysql默认是不可以通过远程机器访问的,只允许本地访问,通过下面的配置可以开启远程访问;

排查思路:

mysql设置远程访问主要从以下三个方面去检测:首先检查网络,两台计算机之间必须能ping通,这是基础;第二:检测3306端口,对于端口只允许本机访问,有两个地方启用,一个是mysql配置绑定本机地址,另一个就是防火墙启用3306;第三:mysql用户访问权限的问题。

根据思路逐一排查

1.网络检测:

ping mysql所在主机的ip地址

看是否能ping通,如果能ping通,说明不是网络的问题;

我的可以ping通,说明不是网络的问题;

2.端口检测:

检测3306端口:

netstat -ntpl | grep 3306,如图:

检测22端口:

netstat -ntpl | grep 22,如图:

综上可以看出22端口监听所有地址,而3306端口只监听了本地地址,所以远程无法访问。对于端口只允许本机访问,有两个地方启用,一个是防火墙启用3306,另一个就是mysql配置绑定本机地址。所以Navicat无法连接远程MySQL这个问题我们找到问题所在了,我们只需将3306端口允许远程访问即可;

解决办法:

一般情况下,我们只需要去修改/etc/mysql/my.cnf配置文件即可,将my.cnf配置文件中的bind-address=127.0.0.1改成bind-address=0.0.0.0,并且把skip-networking注释掉即可;

但是我的my.cnf配置文件中并没有bind-address=127.0.0.1和skip-networking这两行代码,我就自己加上了bind-address=0.0.0.0这行代码,以为会好使,重启系统后,结果,并没有卵用!!!再次检测3306端口,发现还是只允许本地访问,就在我百思不得其解的时候,配置文件中的一句注释引起了我的注意~此处有惊喜,问题马上就可以解决了 > . <

然后我们再去看/etc/mysql/my.cnf配置文件,发现了一句话,如图:

“从以下配置目录导入所有的以.cnf结尾的文件”,啧啧啧,有没有种恍然大悟的感觉?也就是说address=127.0.0.1这行配置没有在my.cnf配置文件中配置,可能在那两个目录下的某一个配置文件中配置了,所以我们就去找找看看呗,无论如何得把“address=127.0.0.1”这行代码找到。

首先去第一个目录:/etc/mysql/conf.d,进去看一下cnf.d文件,如图:

没有“address=127.0.0.1”;

再去第二个目录中:/etc/mysql/mariadb.conf.d/,发现下面有5个以.cnf结尾的文件,分别是:50-client.cnf , 50-mysql-clients.cnf , 50-mysqld_safe.cnf , 50-server.cnf , my.cnf,如图:

用脑子猜一下,你也知道该去看哪个文件了,没错,我锁定了“50-server.cnf”文件,进去一看,果然找到了“address=127.0.0.1”这行代码,把它改成“address=0.0.0.0”即可,如图:

然后重启计算机(注意这里必须要重启计算机,重启mysql没用,我重启mysql是没用),再查看端口,如下:

开心吗,终于改过来了,不得不吐槽一下MySQL,不光得看它配置文件中的配置,连配置文件里的注释我们也不能忽略,啧啧啧,我也是够服气的~~长记性了!

然而端口检测这一步还没有完,MySQL配置文件我们检测完了,还有一个地方,防火墙3306端口是否开启;

防火墙检测:

查看:iptable --list

我查了一下,我的防火墙没有开启,如果有防火墙要开启防火墙3306端口,或者直接关闭防火墙;

到现在为止,3306端口检测就没有问题了。

3.mysql用户访问权限:

进入mysql数据库:mysql -uroot -p

use mysql;

查询用户访问权限:

select host,user from user;如图:

mysql建用户时会指定一个host,默认是127.0.0.1(localhost),只能本机访问,其他机器用这个用户账号访问时会提示没有权限,将host改为“%”,表示允许所有机器访问。(我这里已经改成允许所有机器访问了)

修改的语句为:grant all on . to ‘root'@'%' identified by ‘root用户的密码' with grant option;

flush privileges;

还有一个值得注意的地方是:要删除“多余的用户”,就拿我自己来说,我之前有两个root用户,如下:

user host

root %

root 127.0.0.1

这个时候为了避免出错,就可以把127.0.0.1的那个root用户删除掉了(我这里就掉进坑里了,我是在修改密码的时候掉这个坑里了,修改的是%的root的密码,结果我一直用127.0.0.1的root登录,一直登不上去,,,);

总结

综上所述,mysql设置远程访问的问题就解决了,总结一下,mysql设置远程访问主要从以下三个方面去检测:首先检查网络,两台计算机之间必须能ping通,这是基础;第二:检测3306端口,对于端口只允许本机访问,有两个地方启用,一个是mysql配置绑定本机地址(修改mysql配置文件(友情提示,不一定是my.cnf哦~要仔细阅读配置文件中的内容~)bind-address=0.0.0.0),另一个就是防火墙启用3306(检测防火墙);第三:mysql用户访问权限的问题。

这是我曾经踩过的坑,觉得值得一记,所谓的经验,不过是踩过的坑多了,遇见的问题多了,然后解决了,从坑里跳出去了,经验也就有了,积累经验,从自己踩过的每一个坑开始,然后不断的提升自己,加油!

到此这篇关于Navicat出现无法远程连接MySql服务器问题的解决办法的文章就介绍到这了,更多相关Navicat无法远程连接MySql服务器问题内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

mysql总是显示无法连接服务器,Navicat出现无法远程连接MySql服务器问题的解决办法...相关推荐

  1. 【SQL】SQL Server服务器间的数据库远程连接

    有时候为了查询方便,可以设置本地数据库直连服务器上的数据库,就不用每次都得登录另一台服务器才能对数据库做操作. 当然,也可用于在A服务器的程序连接B服务器的数据库跑数,程序的数据库连接字符串中IP写B ...

  2. 服务器怎么连接?服务器远程连接图文教程Windows如何远程连接服务器?Linux服务器如何远程登录?远程连接服务器命令

    服务器怎么连接?服务器远程连接图文教程 Windows如何远程连接服务器?Linux服务器如何远程登录?远程连接服务器命令 服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运 ...

  3. 手机端网站服务器软件,手机端远程连接服务器的软件

    手机端远程连接服务器的软件 内容精选 换一换 云服务器网络异常.防火墙未放行本地远程桌面端口.云服务器CPU负载过高等问题均可能导致云服务器无法正常登录.本节操作介绍无法登录Windows弹性云服务器 ...

  4. 金蝶虚拟化客户端连不上服务器,金蝶kis客户端远程连接服务器

    金蝶kis客户端远程连接服务器 内容精选 换一换 ELB的常见异常返回码有400.403.502.504等.若遇到这些返回码建议您先直接访问后端云服务器,查看是否是后端云服务器的异常.若后端云服务器响 ...

  5. linux搭建ssh服务器,并用xshell远程连接

    由于本文是vip文章,如果没有vip的可以到我的博客阅读: linux搭建ssh服务器,并用xshell远程连接 - 玄博 搭建ssh服务器: 1:安装ssh服务: sudo apt-get inst ...

  6. win服务器的远程连接--如何打开远程连接服务器?如何设置远程连接?连接工具?

    如何远程连接服务器,就是把在互联网中的计算机和在局域网中的远程访问服务器相(RAS)连接,从而在RAS和RAC(远程访问客户机,就是在互联网中的某计算机)建立一个虚拟专用线路来直接接入到RAS,连接上 ...

  7. 阿里云服务器ECS如何进行远程连接?

    阿里云服务器ECS如何进行远程连接?对于不少站长来说,服务器是必不可少的一个必需品.但是对于不少新手来说,对于服务器却不是那么的了解.今天小编就来为大家介绍下连接阿里云服务器的方法. 1.首先第一点自 ...

  8. navicat for mysql执行sql语句报错: [Err] 1146 - Table ‘performance_schema.session_status‘doesn‘t exist 解决办法

    navicat for mysql执行sql语句报错: [Err] 1146 - Table 'performance_schema.session_status' doesn't exist 解决办 ...

  9. W10系统怎么进去服务器,w10系统怎么远程连接服务器

    w10系统怎么远程连接服务器 内容精选 换一换 本章节指导您使用MongoDB客户端和Robo 3T工具,通过公网连接单节点实例.通过MongoDB客户端和Robo 3T工具连接实例的方式有普通连接和 ...

最新文章

  1. IT培训课、视频教程和书本之PK
  2. 【Android 性能优化】应用启动优化 ( 阶段总结 | Trace 文件分析及解决方案 | 源码分析梳理 | 设置主题的方案总结 ) ★
  3. 英特尔推出模仿人脑运行方式、拥有800万组神经元的计算机系统
  4. 每天一道LeetCode-----两个有序数组合并后的第K个数
  5. loadrunner录制事件为0_Oracle数据库性能监控|LoadRunner 中配置监控Oracle
  6. Ubuntu 修改默认的PDF打开方式
  7. PID控制器开发笔记之三:抗积分饱和PID控制器的实现
  8. 基于jsp+mysql+Spring+hibernate+在线学习交流论坛平台
  9. MinIO Azure 网关 ​​​​​​​
  10. C# 中使用log4net 日志记录
  11. 转:为什么说GAN很快就要替代现有摄影技术了?
  12. AIR中使用FCKeditor
  13. 关于有默认值的字段在用EF做插入操作时的思考(续)
  14. 海康设备添加到萤石云
  15. Affinity Mattrix 亲和矩阵总结
  16. 临时码农敲门砖 有效 2022-10-16 (详情 见文末)
  17. 解密!区块链BaaS是什么?
  18. 《前沿》(Frontiers)系列英文学术期介绍
  19. 长沙立坤文化怎么样?是骗子公司吗?网友想知道!
  20. xcode结果边栏_XCode属性面板使用说明

热门文章

  1. Linux:正则表达式
  2. 动态链接库(一)--动态链接库简介
  3. 200个经典C语言源码,免费分享IT编程学习资源
  4. CSS:text-align文本对齐方式的6种方式
  5. Android L 软件安装失败 INSTALL_FAILED_DUPLICATE_PERMISSION
  6. 【有利可图网】PS教程:不知道字体如何修改图片中文字
  7. 上周热点回顾(2.10-2.16)
  8. Mysql注入 -- 注入类型
  9. 从APEX 2020看vivo背后的创新动能
  10. logback 使用regex匹配进行日志脱敏