• 记一篇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

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

    —————————————————————————————————————————————————————————————————————————————————————————————————————————————— 保持学习的劲头
  • 相关阅读:
    C语言中条件表达式求最大值和最小值
    面向对象编程:Java的简单数据类型
    JAVA学习经验谈
    JAVA的入门基础一些精典
    面向对象编程:Java复杂数据类型用法
    面向对象编程:Java的简单数据类型
    面向对象编程:Java collection更有效管理elements
    从C++到Java 理解面向对象是关键所在
    JAVA学习经验谈
    JAVA的入门基础一些精典
  • 原文地址:https://www.cnblogs.com/qkblogs/p/12877496.html
Copyright © 2020-2023  润新知