zoukankan      html  css  js  c++  java
  • 使用Navicat Premiun远程连接MySQL失败,报错(10038)

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

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

    2、网络或防火墙问题

      1)、排查网络问题

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

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

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

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

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

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

           

            开放端口配置:

               

           

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

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

    # systemctl status firewalld

        

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

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

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

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

    3、检查用户访问权限

       1)、进入msyql

       2)、查看用户访问权限

         

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

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

        修改命令如下:

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

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

     

    如有不对之处希望大家指点。共同进步,谢谢!

  • 相关阅读:
    数据库中Schema和Database有什么区别
    VS2015智能提示由英文改为中文
    分配数据库角色权限
    【转载】使用局部标准差实现图像的局部对比度增强算法
    RS485的常用电路设计
    c++对txt文件的读取与写入 【转载】
    OpencV使用fitEllipse拟合椭圆后,获取椭圆参数 【转载】
    C++指定编译代码语句(模块)
    C++自动创建文件夹
    vs2015中复制C++ DLL 和.pdb文件到C#工程中bin目录的设置方法
  • 原文地址:https://www.cnblogs.com/buzheng/p/12469167.html
Copyright © 2011-2022 走看看