navicat远程访问mysql失败,can't connect(10038)

目前总结以下解决步骤:

  1. 查看是否连接成功?

    本机进入cmd
    输入命令:

    telnet 109.2.34.55 3306

    【109.2.34.55】为你的实例 公网IP

  2. 先查看下 阿里云/百度云等实例 的安全组规则入方向:3306 端口是否开启? 如:
    2019-03-10_172321.png

    上面就是允许访问了,没有就添加规则,允许3306端口~
    执行步骤1,看看可能连接了

  3. 如果还不能,那么登录服务器,在Ubuntu等 中查看3306端口

    netstat -anp | grep 3306
    tcp 0 127.0.0.1:3306 0.0.0.0:* LISTEN 2160/mysqld

    那么,

    sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

    修改msyqld.cnf 中的 bind-address=127.0.0.1bind-address = 0.0.0.0
    保存退出
    重启 命令:

    service mysql restart

    我遇到的两种情况基本OK了
    执行步骤1,看看可能连接了

  4. 另外一种(mysql可能拒绝你的ip访问):
    进入mysql,对远程用户进行授权,
    命令:

    msyql -u root -p 
    grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';

    xxxxxx 为密码,最后:

    flush privileges;
阅读 1.1k

推荐阅读