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

打印 上一主题 下一主题

主题 974|帖子 974|积分 2922

报错 ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061) 表示客户端无法毗连到当地的 MySQL 服务器。

这个错误通常与以下几个原因有关:
1. MySQL 服务器未启动(常见原因

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


  • Windows: 打开命令提示符,输入以下命令:
    1. net start mysql
    复制代码
    或者利用 MySQL Notifier 或 Services 检察并启动服务。

    • 假如提示:

    • 解决办法:
      1. 确认 MySQL 是否安装

      检查 MySQL 是否正确安装,并检察已安装的服务列表。可以通过以下命令检察系统上所有服务的名称:
      1. sc query type= service state= all
      复制代码
      查找与 MySQL 相关的服务名称,如 MySQL、MySQL80、MariaDB 等。

      通过查询服务器名称为MySQL80
      2. 查找 MySQL 的具体服务名称

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

      • 按下 Win + R,输入 services.msc 并回车。
      • 在服务列表中找到与 MySQL 相关的服务,通常名称可能是 MySQL80 或 MySQL57 等,确认服务名后,利用该名称启动服务。例如:
        1. net start MySQL80
        复制代码

        启动乐成。
      • Linux / macOS: 利用以下命令检查 MySQL 是否在运行:
        1. sudo systemctl status mysql
        复制代码
        假如未运行,启动 MySQL:
        1. sudo systemctl start mysql
        复制代码


2. 端口号错误



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

    • 检察 MySQL 配置文件 my.cnf(Linux/macOS)或 my.ini(Windows),确认 [mysqld] 部门的端口号是否为 3306。
    • 还可以通过以下命令检察 MySQL 的端口:
      1. sudo netstat -tlnp | grep mysql
      复制代码

  • Windows 系统:
    在 Windows 上想检察 MySQL 是否正在监听端口 3306,可以利用以下替代方法:

    • 1. 利用 netstat 检察端口

      在 Windows 上,可以利用以下命令检查 MySQL 是否监听 3306 端口:
      1. netstat -ano | findstr :3306
      复制代码
      这条命令会显示所有利用端口 3306 的进程。假如 MySQL 正在运行,应该可以大概看到类似以下输出:
      1. 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
    1. sudo ufw allow 3306
    2. sudo ufw reload
    复制代码
4. 配置文件错误

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


  • 编辑 my.cnf 或 my.ini 文件:
    1. bind-address = 127.0.0.1
    复制代码
5. Socket 题目

MySQL 客户端可能在毗连时利用错误的 socket 文件。可以通过指定正确的 socket 文件来毗连:
  1. mysql --socket=/path/to/mysql.sock
复制代码
6. 数据库用户权限题目

检查当前用户是否有权限访问 MySQL:
  1. GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'localhost' IDENTIFIED BY 'your_password';
  2. FLUSH PRIVILEGES;
复制代码
通常都是服务器未启动导致,启动服务器之后可以正常登录利用MySQL了:


可以根据以上几项渐渐排查,看看题目是否可以大概解决。假如仍有题目,接待留言讨论


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

魏晓东

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表