我的知识记录

MySQL 1045 登录失败(账号密码错误)处理方案

MySQL 1045 错误核心提示为 ERROR 1045 (28000): Access denied for user 'xxx'@'xxx' (using password: YES/NO),其中 using password: YES 表示输入了密码但验证失败,NO 表示未输入密码但账号要求密码登录。该错误本质是“账号合法性校验失败”,并非仅指密码错误,需按“快速排查→精准处理→后续防护”的步骤解决,兼顾新手可操作和进阶场景覆盖。

 

此类错误80%可通过简单检查解决,无需修改配置或重置密码,优先执行以下步骤:
  1. 校验账号密码正确性
    1. 密码区分大小写(MySQL默认密码大小写敏感),核对是否多输、少输字符,或混淆中英文标点(如英文感叹号!与中文感叹号);
    2. 确认登录账号拼写正确(如避免将root误输为rooot,非root账号需确认账号存在);
    3. 若密码包含特殊字符(如@#$%),在命令行登录时需给密码加引号(如mysql -u root -p"123@456"),避免特殊字符被系统解析。
  2. 确认登录主机权限
    1. MySQL账号与登录主机绑定(如root@localhost仅允许本地登录,root@%允许远程登录),若本地登录用远程账号、或远程登录用本地账号,会触发1045错误;
    2. 本地登录优先使用mysql -u 账号 -p,远程登录需指定主机(如mysql -u 账号 -p -h 服务器IP)。
  3. 排查MySQL服务状态
    1. 若MySQL服务未正常启动,会伪装成“账号密码错误”,需先检查服务状态:
      • Linux系统:执行sudo systemctl status mysql(或mysqld),未启动则执行sudo systemctl start mysql
      • Windows系统:右键“此电脑→管理→服务和应用程序→服务”,找到“MySQL”,确保状态为“正在运行”,未运行则右键启动。
  4. 排除配置文件异常
    1. 检查MySQL配置文件(Linux为/etc/my.cnf,Windows为my.ini),确认无skip-grant-tables(跳过权限校验)、skip-networking(禁止网络连接)等异常配置,若有则注释后重启服务(避免权限混乱导致登录失败)。

MySQL 1045 登录失败(账号密码错误)处理方案

标签:

更新时间:2026-03-12 11:05:26

上一篇:打开网站显示MySQL server has gone away错误怎么办_已解决

下一篇:打开网站显示Parse error_ syntax error, unexpected '=' (T_EQUAL) 错误怎么办_已解决