登录MySQL时,提示ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)

报错 ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061) 表示客户端无法连接到本地的 MySQL 服务器。
在这里插入图片描述

这个错误通常与以下几个原因有关:

1. MySQL 服务器未启动(常见原因

MySQL 服务器可能没有启动。可以通过以下命令检查 MySQL 服务器的状态并尝试启动:

  • Windows: 打开命令提示符,输入以下命令:

    net start mysql
    

    或者使用 MySQL NotifierServices 查看并启动服务。

    • 如果提示:
      在这里插入图片描述

    • 解决办法:

      1. 确认 MySQL 是否安装

      检查 MySQL 是否正确安装,并查看已安装的服务列表。可以通过以下命令查看系统上所有服务的名称:

      sc query type= service state= all
      

      查找与 MySQL 相关的服务名称,如 MySQLMySQL80MariaDB 等。
      在这里插入图片描述

      通过查询服务器名称为MySQL80

      2. 查找 MySQL 的具体服务名称

      如果 MySQL 正确安装但服务名不是 mysql,你可以通过服务管理器 (services.msc) 来查看:

      • 按下 Win + R,输入 services.msc 并回车。

      • 在服务列表中找到与 MySQL 相关的服务,通常名称可能是 MySQL80MySQL57 等,确认服务名后,使用该名称启动服务。例如:

        net start MySQL80
        

        在这里插入图片描述

        启动成功

      • Linux / macOS: 使用以下命令检查 MySQL 是否在运行:

        sudo systemctl status mysql
        

        如果未运行,启动 MySQL:

        sudo systemctl start mysql
        

2. 端口号错误

  • Linux/Unix 系统:
    默认情况下,MySQL 运行在端口 3306 上。如果该端口被其他程序占用或端口被更改,需要确认 MySQL 使用的端口。

    • 查看 MySQL 配置文件 my.cnfLinux/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 打开任务管理器。
      • 在“进程”或“服务”选项卡中,查找名为 MySQLmysqld 的进程。
      • 在这里插入图片描述

3. 防火墙问题

防火墙可能阻止了端口 3306 的访问,检查并开放此端口:

  • Windows:通过“防火墙和网络保护”设置中,检查是否阻止了端口 3306
  • Linux
    sudo ufw allow 3306
    sudo ufw reload
    

4. 配置文件错误

MySQL 配置文件可能设置错误,导致 MySQL 不接受本地连接。检查配置文件中的 bind-address 是否设置为 127.0.0.1,确保 MySQL 接受本地连接:

  • 编辑 my.cnfmy.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了:

在这里插入图片描述

可以根据以上几项逐步排查,看看问题是否能够解决。如果仍有问题,欢迎留言讨论

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wcyd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值