使用navicat或者premium连不上远程mysql的可能原因

1、是否有权限访问mysql数据库

执行命令查看用户是否有远程访问的权限,这里以root用户为例,登陆进mysql,切换到root用户,执行sql 命令:

select User,host from mysql.user

如果root一行不是%,则表示没有权限访问mysql。【注:%表示所有主机都有权限访问当前mysql用户】
不是%的话在执行下面的语句:

use mysql;
update user set host='%' where user='root';
ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password By 'mysql的密码';

之后在执行查看权限语句查询root权限有没有改为%;

2、mysql的服务是否开启或者关闭

systemctl status mysql

在这里插入图片描述
active(running)即服务启动

3、所连接的mysql端口有错误

查看mysql开启的端口是否为你所指定的端口

netstat -apn

在这里插入图片描述

4、linux防火墙阻止了连接

对于 CentOS/RHEL 系统,可以使用以下命令关闭 firewall 服务:

sudo systemctl stop firewalld

如果需要开机禁用 firewalld 服务,可以使用以下命令:

sudo systemctl disable firewalld

对于 Ubuntu/Debian 系统,可以使用以下命令关闭 ufw 防火墙:

sudo ufw disable

或者使用以下命令关闭 iptables 防火墙:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F

如果需要开机禁用 ufw 防火墙,可以使用以下命令:

sudo systemctl disable ufw

5、检查是否被云服务器的防火墙拦截

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐