1navicat无法连接linux中的数据库解决方案

首先你虚拟机和windows能够相互ping同的

1.防火墙未关闭,未开放3306端口

查看firewall服务状态

systemctl status firewalld

关闭防火墙(最直接的方式就收关闭防火墙)

service firewalld stop

查询端口是否开放

firewall-cmd --query-port=8080/tcp

开放3306端口(显然关闭防火墙不安全,所有选择开启3306端口)

firewall-cmd --permanent --add-port=3306/tcp

移除端口

firewall-cmd --permanent --remove-port=8080/tcp

重启防火墙(修改配置后要重启防火墙)

firewall-cmd --reload

2./etc/my.cnf中的配置文件
找到mysqld标签
改为bind-address=0.0.0.0或注释掉
在这里插入图片描述

3.未开放root用户远程连接权限(标记红色的是可以的)

查看用户权限

select host, user,  select_priv, insert_priv,drop_priv from mysql.user; 

在这里插入图片描述

开放root用户允许远程连接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION; 

注意: 必须 用flush privileges; 命令才能生效
4.修改完这些配置之后一定要停止mysql服务,然后重新启动

启动mysql服务

service mysqld start

关闭mysql服务

service mysqld stop

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐