主机连接vm虚拟机的mysql报错2003-Can‘t connect to MySQL server on ‘192.168.1.169“ (10060 “Unknown error“)

错误产生环境

使用主机的Navicat 工具无法连接到虚拟机里的mysql数据库

错误描述

2003-Can't connect to MySQL server on '192.168.1.169" (10060 "Unknown error")

在这里插入图片描述

错误原因

1.可能是当前的连接账号是否支持远程链接
2.防护墙处于开启状态

解决办法

检查当前的连接账号是否支持远程链接

步骤1:登录

mysql -uroot -p

在这里插入图片描述

步骤2:选择数据库

选择mysql数据,因为用户表(user)在这个数据库里

use mysql

在这里插入图片描述

步骤3:查询User表

select `user`,authentication_string,`Host` from `user`;

查询mysql库中的user表,可以看到root目前只支持localhost本机连接
在这里插入图片描述

步骤4:增加root允许其他主机进行连接

执行下面这段语句

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

123456为连接密码,%为任意主机,就是任意主机可以通过用户名root + 密码12345 进行连接,你也可以指定只允许某IP的主机进行连接。

注意:这里可能会出现ERROR 1819 (HY000): Unknown error 1819这个错误

如出现请先跳转到这篇博客:解决办法

步骤5:重新加载用户权限

flush privileges;

在这里插入图片描述

检查防护墙状态:

步骤6:查看当前防护墙状态

firewall-cmd --state

在这里插入图片描述
running 表示开启状态

步骤7:关闭防火墙

提示:如果防火墙已经关闭了,这一步可以省略

systemctl stop firewalld

步骤8:再次查看防火墙状态

在这里插入图片描述
not running表示防火墙处于关闭状态

注意:当前是虚拟机环境下才需要关闭防火墙,如果是云服务器的话在安全组把3306端口放行即可

步骤9:再次连接

连接成功
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42025798/article/details/114218119