mysql本地连接出现2003错误尾号111,怎么解决

记得有一次,我正在本地开发一个项目,突然发现无法连接MySQL数据库,终端中弹出了熟悉的2 003 错误。
然后我就感到紧张,想我该怎么办?事情的进展将会受到影响。
我赶紧按照网上说的,先查看了一下服务状态。
果然MySQL服务没有启动。
我很快开始了一个角色,再次申请,然后就加入了!有时问题似乎出在这些细节上。
但情况不同。
我记得之前我遇到过无法连接数据库的情况。
那次是因为墙壁挡住了连接。
唉,这些技术问题确实很难预防。

mysql连接不上数据库10038怎么办?mysql连接数据库错误10038解决方法

说白了,MySQL连接错误1 003 8 通常是因为客户端找不到服务器端口。
这是一个复杂的问题,有些细节很容易被忽视。

首先,最重要的是客户端和服务器使用的端口必须完全一致。
去年我们运行该项目时,团队将用于本地测试的 3 3 07 端口直接编码到生产代码中,但连接失败。
还有一点就是从命令行连接的时候需要携带-P端口号,比如-P3 3 06 仅仅依靠 my.cnf 中的端口配置是没有用的。
还有一个更重要的细节。
如果使用root用户但不设置密码,直接mysql -h1 2 7 .0.0.1 会报错。
您必须使用 -p 参数后跟一个空格来跳过密码验证。
说实话,有点混乱。
很多人不重视这一点。

一开始我以为远程连接慢是网络的原因,后来发现不对。
防火墙规则没有明确定义。
在 Windows 防火墙中,创建默认端口 3 3 06 规则是没有意义的。
您必须指定本地IP地址范围,例如1 9 2 .1 6 8 .1 .0/2 4 ,否则其他计算机的客户端仍然无法连接。
等等,还有一件事。
如果在Linux系统下使用iptables临时打开一个端口,记得使用-A INPUT...而不是-A OUTPUT...。
如果方向反了,ping会成功,但是mysql -h还是不行。

建议先检查端口匹配和用户权限。
该错误消息实际上是不言自明的。
但是,有一个问题:如果服务器是MySQL 8 最新版本,则客户端驱动版本必须同步更新。
旧版本如果无法连接3 3 06 端口,会继续报1 003 8 ,这个很多人都会忽略。

Win7系统连接MySQL时报错Cant connect to MySQL server on localhost怎么办

说白了,Win7 连接MySQL时报“Can't connect to MySQL server on localhost”有三个关键点:服务没有启动、IP地址不匹配、防火墙拦截。

先说最重要的服务状态——去年我们跑的项目中,有一个同学卡在这里了。
MySQL服务显然处于“运行”状态,但真正监听端口的是另一个进程。
您可以使用命令netstat -ano | findstr 3 3 06 发现端口号不正确。
说实话,这很令人困惑。

还有一点是绑定地址配置,很多人都没有注意到。
例如,如果你使用XAMPP安装在C:\xampp\mysql,配置文件就在这个目录下,你发现绑定地址设置为1 9 2 .1 6 8 .1 .1 00,那么本地就无法连接到1 2 7 .0.0.1 一开始我以为要改一下系统网络设置,后来发现只要改回1 2 7 .0.0.1 就可以了。

还有一个非常关键的细节,防火墙规则。
Win7 自带的防火墙默认会拦截3 3 06 ,但有些杀毒软件也会这样做,比如3 6 0安全卫士,它会在MySQL中添加自己的拦截规则。
建议首先在防火墙中搜索“允许程序通过Windows防火墙”并允许MySQL进程(例如mysqld.exe)通过。
大约3 000个网站使用这种方法可以解决9 5 %的问题。

等一下,还有一件事。
如果安装Windows版本的MySQL Workbench,在连接localhost时会默认带上一个协议头,如“root@localhost”,但在连接命令行客户端时则不需要。
在这种情况下,Workbench 将报告错误“无法连接到 localhost 上的 MySQL 服务器”。
尝试使用命令行 mysql -u root -p 代替。

总之,首先确保服务已启动、IP配置正确、端口开放。
改变这三件事后,它可能会起作用。
如果还是不行,建议以管理员身份运行MySQL客户端再试。