发现错误
报错 error 2003 (hy000): can't connect to mysql server on 'localhost:3306' (10061) 表示客户端无法连接到本地的 mysql 服务器。

这个错误通常与以下几个原因有关:
mysql 服务器未启动(常见原因)
mysql 服务器可能没有启动。可以通过以下命令检查 mysql 服务器的状态并尝试启动:
windows: 打开命令提示符,输入以下命令:
net start mysql
或者使用 mysql notifier 或 services 查看并启动服务。
如果提示:

解决办法:
1.确认 mysql 是否安装
检查 mysql 是否正确安装,并查看已安装的服务列表。可以通过以下命令查看系统上所有服务的名称:
sc query type= service state= all
查找与 mysql 相关的服务名称,如 mysql、mysql80、mariadb 等。

通过查询服务器名称为mysql80。
2.查找 mysql 的具体服务名称
如果 mysql 正确安装但服务名不是 mysql,你可以通过服务管理器 (services.msc) 来查看:
按下 win + r,输入 services.msc 并回车。
在服务列表中找到与 mysql 相关的服务,通常名称可能是 mysql80 或 mysql57 等,确认服务名后,使用该名称启动服务。例如:
net start mysql80

启动成功。
linux / macos: 使用以下命令检查 mysql 是否在运行:
sudo systemctl status mysql
如果未运行,启动 mysql:
sudo systemctl start mysql
端口号错误
linux/unix 系统:
默认情况下,mysql 运行在端口 3306 上。如果该端口被其他程序占用或端口被更改,需要确认 mysql 使用的端口。
查看 mysql 配置文件 my.cnf(linux/macos)或 my.ini(windows),确认 [mysqld] 部分的端口号是否为 3306。
还可以通过以下命令查看 mysql 的端口:
sudo netstat -tlnp | grep mysql
windows 系统:
在 windows 上想查看 mysql 是否正在监听端口 3306,可以使用以下替代方法:
1.使用netstat查看端口
在 windows 上,可以使用以下命令检查 mysql 是否监听 3306 端口:
netstat -ano | findstr :3306
这条命令会显示所有使用端口 3306 的进程。如果 mysql 正在运行,应该能够看到类似以下输出:
tcp 127.0.0.1:3306 0.0.0.0:0 listening 1234
其中,1234 是 mysql 服务的进程 id (pid)。可以通过任务管理器 (task manager) 查找该进程的名称,验证是否为 mysql。

2.通过任务管理器检查 mysql 进程
你可以打开任务管理器,查看 mysql 服务是否正在运行:
按 ctrl + shift + esc 打开任务管理器。
在“进程”或“服务”选项卡中,查找名为 mysql 或 mysqld 的进程。

3.防火墙问题
防火墙可能阻止了端口 3306 的访问,检查并开放此端口:
- windows:通过“防火墙和网络保护”设置中,检查是否阻止了端口
3306。 - linux:
sudo ufw allow 3306 sudo ufw reload
4.配置文件错误
mysql 配置文件可能设置错误,导致 mysql 不接受本地连接。检查配置文件中的 bind-address 是否设置为 127.0.0.1,确保 mysql 接受本地连接:
- 编辑
my.cnf或my.ini文件:bind-address = 127.0.0.1
5.socket 问题
mysql 客户端可能在连接时使用错误的 socket 文件。可以通过指定正确的 socket 文件来连接:
mysql --socket=/path/to/mysql.sock
6.数据库用户权限问题
检查当前用户是否有权限访问 mysql:
grant all privileges on *.* to 'your_user'@'localhost' identified by 'your_password'; flush privileges;
通常都是服务器未启动导致,启动服务器之后可以正常登录使用mysql了:

可以根据以上几项逐步排查,看看问题是否能够解决。
总结
到此这篇关于解决登录mysql时提示error 2003 (hy000): can‘t connect to mysql server on ‘localhost:3306‘ (10061)的文章就介绍到这了,更多相关登录mysql时error 2003 (hy000)内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论