记一篇mysql安装之后无法使用navicat连接的问题

 

最近在做数据库迁移的时候,需要在一台全新机器上部署mysql,于是呢,我把旧机器上的mysql版本和配置文件全部挪了过来,并启动了mysql,一切看似都很顺利。。。。。

安装好配置完成密码之后,兴冲冲的跑去navicat连着试一下,结果。。。啪,连不上。。。。

 

于是呢,到处找经验,大致的意思就是客户端没有权限登录,于是按照推荐的方式查看了权限 select user,hosts from user;

这不是妥妥的有权限吗????

  这里顺便记录下如果没有权限的话怎么处理,很简单,控制台登录mysql,

    use mysql;   切换到mysql表

    grant all privileges on *.* to root@"%" identified by "123456";   给所有的ip添加权限

    flush privileges;   刷新mysql系统权限表,让生效

    就可以了:

回归问题:

再次查资料,这次针对性的去查,直接插错误码10038,不查不知道,一查吓一跳,这TM妥妥的不是3306端口没有对外开放的意思么,这么简单直接。。

于是怀疑到两个地方:

  1、防火墙

  2、配置问题,真的没有配置对外开放

那么一个一个来看:

iptables -L  走你。。。

并没有开启软件防火墙。。

那么再看一下端口:netstat -anp |grep 3306  截图没有筛选,凑合看吧!

果然 ,这里是啥玩意配的,我都看不懂,不管他,反正是不太对,正常情况下应该是127.0.0.1:3306  或者0.0.0.0:3306,前者是只允许本机访问,后者是所有可访问,因此我们要用navicat访问,必须修改为0.0.0.0:3306

于是编辑 vim /etc/my.cfg

添加或者修改    bind-address = 0.0.0.0

重启在次连接,没有任何问题。。。

 

posted @ 2020-05-12 17:28  柚子李子  阅读(1401)  评论(0编辑  收藏  举报