前言

学 MySQL 必遇两大经典报错:

1045 拒绝访问2003 无法连接,新手看不懂报错信息,无从下手。

本篇一次性讲透原因 + 解决方案,照着排查立马修好。


一、错误 1045 Access denied for user

常见原因

  1. 用户名 / 密码输错
  2. 允许登录的主机不是localhost/%;
  3. 密码过期、权限不足

解决方案

  1. 确认账号密码是否正确;
  2. 重置 root 密码(Windows/Linux 都适用);
  3. 授权远程访问:

sql

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
FLUSH PRIVILEGES;

二、错误 2003 Can't connect to MySQL server

常见原因

  1. MySQL 服务没启动
  2. 3306 端口被占用
  3. 防火墙拦截
  4. 绑定了仅本地 127.0.0.1

解决方案

  1. 检查 MySQL 服务是否启动,重启服务;
  2. 查看 3306 端口占用,更换端口或关闭占用程序;
  3. 关闭系统防火墙 / 放行 3306 端口;
  4. 修改配置文件注释 bind-address=127.0.0.1

三、其他常见小报错

  1. 提示不存在 mysql 服务 → 未安装系统服务,重新执行 mysqld --install
  2. 中文乱码 → 配置文件改成 utf8mb4
  3. 连接超时 → 调整 wait_timeout 参数

四、排查通用思路

先看服务是否启动 → 再看端口 → 再看防火墙 → 最后看账号权限和密码。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐