问题场景:

windows局域网内访问mysql数据库 连接失败报10060


原因分析:

查阅了一些资料,问题出现在网络访问上。

mysql远程访问权限

mysql本身设定有访问权限,一般来讲安装的时候如果没有允许远程访问,非localhost 的IP是无法访问到mysql的。

windows防火墙的影响

windows defender本身就有很强的网络安全配置,可以屏蔽掉其它IP的访问,除非你设置了相关的规则允许其访问。


解决方案:

一、

mysql打开远程访问

为mysql添加远程访问角色。mysql命令窗口

select user, host, password from mysql.user;

在这里插入图片描述
第一行是代表可以本地访问,添加第二行,实现远程访问。
使用命令

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

*.* 表示 对 数据库.表 的权限
root @ % 账户名为root的用户在所有host主机上的访问 (%表示所有主机)
第二个 root是密码。这样使用 就可以用 “账户名为root,密码为root“的账号在所有主机上访问mysql。
FLUSH PRIVILEGES; 是刷新mysql,重新读取user表。
二、

windows defender

直接关闭防火墙或者添加规则。

在这里插入图片描述
防火墙高级设置,新建入站规则,
在这里插入图片描述
选择端口,tcp访问,输入数据库访问端口,(我的是3306),允许连接,
其它的默认即可。
在这里插入图片描述

在这里插入图片描述
访问成功,以前网上很多改bug的教程,有关windows的mysql不是很多,出一篇。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐