【已解决】MySQL连接出错 1045 - Access denied for user ‘root‘@‘::1‘

1. 以管理员身份打开命令提示符

  • 在开始菜单搜索 cmd,右键选择 "以管理员身份运行"

    跳过授权表的 MySQL

    进入 bin 目录,再次执行:

    cmd 复制代码
    cd /d D:\pilot\mariadb_10.11.3_winx64\bin
    mysqld --defaults-file="D:\pilot\mariadb_10.11.3_winx64\my.ini" --skip-grant-tables

此时窗口会停留在等待连接的状态。

2. 连接数据库并修改密码

打开另一个管理员 cmd 窗口,进入 bin 目录:

cmd 复制代码
cd /d D:\pilot\mariadb_10.11.3_winx64\bin
mysql -u root

3. 刷新权限表(必须执行)

sql 复制代码
FLUSH PRIVILEGES;

这会将权限表加载到内存,使 ALTER USER 命令可用。

4. 重置 'root'@'127.0.0.1' 的密码

sql 复制代码
ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY '你的新密码';

'你的新密码' 替换为实际密码,例如 'root123'

5. 验证修改(可选)

sql 复制代码
SELECT user, host, authentication_string FROM mysql.user WHERE user='root' AND host='127.0.0.1';

如果看到 authentication_string 有值(非空),说明密码已更新。

6. 退出并停止跳过授权表模式

sql 复制代码
EXIT;

7. 正常重启服务(恢复服务参数)

  • 停止服务:

    cmd 复制代码
    net stop PiEMS_MySql
  • 恢复原始启动参数(如果之前修改了服务配置):

    cmd 复制代码
    sc config PiEMS_MySql binPath= "\"D:\pilot\mariadb_10.11.3_winx64\bin\mysqld.exe\" \"--defaults-file=D:\pilot\mariadb_10.11.3_winx64\my.ini\" \"PiEMS_MySql\""
  • 启动服务:

    cmd 复制代码
    net start PiEMS_MySql

8. 测试登录

cmd 复制代码
"D:\pilot\mariadb_10.11.3_winx64\bin\mysql.exe" -h 127.0.0.1 -u root -p

输入新密码,成功进入即表示密码重置完成。


备选方法(如果 ALTER USER 报错)

ALTER USER 因版本或模式问题无法执行,可改用直接更新 global_priv 表:

sql 复制代码
USE mysql;
FLUSH PRIVILEGES;
UPDATE global_priv SET priv = JSON_SET(priv, '$.password', PASSWORD('你的新密码')) WHERE user='root' AND host='127.0.0.1';
FLUSH PRIVILEGES;

注意事项

  • 如果 'root'@'%''root'@'localhost' 也需要重置密码,可类似地执行 ALTER USER 命令,只需修改 host 部分即可。
  • 若想统一所有 root 账户的密码,可分别对 localhost127.0.0.1% 执行相同的 ALTER USER 语句。
相关推荐
GitLqr6 小时前
Flutter 无障碍开发实战:玩转 Semantics 解决视障用户使用痛点
android·flutter·dart
CodexDave8 小时前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
雨白9 小时前
掌握 NestedScrolling 嵌套滑动:手写仿知乎折叠主页
android
王琦031810 小时前
生产环境中使用通用二进制包安装
mysql
Xzaveir11 小时前
别把所有“认证”都塞进 AuthService:实名、一键登录与号码身份的领域拆分
android·人工智能
BerrySen17811 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·人工智能
AFinalStone12 小时前
Android 7系统休眠唤醒(一)电源管理架构全景图
android·powermanager·电源管理
YM52e13 小时前
鸿蒙Flutter Center居中组件:Align对齐详解
android·学习·flutter·华为·harmonyos·鸿蒙
蓝田~13 小时前
MySQL慢查询怎么优化?B+Tree索引原理+MVCC读不阻塞写+EXPLAIN执行计划,从5秒到0.05秒
数据库·mysql
Herbert_hwt13 小时前
MySQL学习前言:关于MySQL的历史与当下学习的必要性
mysql