• MySQL 连接错误Can't connect to MySQL server on (61)


    链接数据库时忽然遇到一个问题。Mac Navicat链接时报错Can’t connect to MySQL server on ‘xx.xx.xx.xx’ (61)。

    PS. win版Navicat 报错Can’t connect to MySQL server on ‘xx.xx.xx.xx’ (10038)

    其中xx.xx.xx.xx是ip地址。

    1、查看该用户是否有远程登录的权限

    ===

    mysql> SELECT * FROM mysql.user;
    +-----------+-----------+
    | User | Host |
    +-----------+-----------+
    | M | % |
    | mysql.sys | localhost |
    | root | localhost |
    | tommy | % |
    | showhilllee | % |
    +-----------+-----------+
    5 rows in set (0.00 sec)
    

    很显然,M是允许从其它服务器登陆的。

    2、查看 MySQL Server 是不是监听了 3306 端口

    ===

    执行命令netstat -tulpen

    netstat -tulpen
    
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 16801 1507/sshd
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 17222 1970/master
    tcp6 0 0 :::3306 :::* LISTEN 27 46396 22054/mysqld
    tcp6 0 0 :::22 :::* LISTEN 0 16803 1507/sshd
    tcp6 0 0 ::1:25 :::* LISTEN 0 17223 1970/master
    udp 0 0 0.0.0.0:68 0.0.0.0:* 0 49600 22999/dhclient
    udp 0 0 0.0.0.0:43504 0.0.0.0:* 0 48850 22999/dhclient
    udp6 0 0 :::47875 :::* 0 48851 22999/dhclient
    

    我在这里也没有问题。

    这里如果没有监听3306端口或者只监听了localhost(0.0.0.0表示监听所有),则在my.cnf添加下面这一行

    bind-address = 0.0.0.0
    

    3、如果服务器是 CentOS7,将 MySQL 服务加入防火墙

    ===

    执行命令

    sudo firewall-cmd --zone=public --permanent --add-service=mysql
    

    返回success。然后继续执行

    sudo systemctl restart firewalld
    

    我的重启防火墙之后就能正常访问了。

  • 相关阅读:
    安卓触摸事件探究
    android关于canvas,path,paint非常好的讲解
    android的Shader
    android中view的生命周期
    JAVA的Random类(转)
    lniux 64位导致adb无法运行解决方案
    [转]Android中attrs.xml文件的使用详解
    FlowLayout
    大数据平台架构技术选型与场景运用(转)
    mysql--java类型对应表
  • 原文地址:https://www.cnblogs.com/xinjie10001/p/6279255.html
Copyright © 2020-2023  润新知