You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重置MySQL root密码遇权限问题:mysqld启动失败及登录报错

解决MySQL root密码重置失败及权限报错问题

一、处理mysqld启动的权限与文件错误

  • 以管理员身份运行命令提示符:Windows下直接打开CMD权限不足,右键命令提示符选择「以管理员身份运行」,否则会触发权限拒绝(errno 13),导致无法创建测试文件、访问binlog.index失败。
  • 检查MySQL数据目录权限:找到MySQL数据目录(默认路径多为C:\ProgramData\MySQL\MySQL Server 8.0\Data),右键文件夹→「属性」→「安全」,确保当前管理员用户拥有完全控制权限,无权限则添加用户并赋予对应权限。
  • 修正--init-file路径格式:Windows路径建议用正斜杠或转义反斜杠,避免解析错误:
    mysqld --init-file=C:/mysql-init.txt --console
    # 或
    mysqld --init-file=C:\\mysql-init.txt --console
    
  • 确认mysql-init.txt内容正确:文件需包含重置密码的SQL语句,替换new_password为目标密码:
    MySQL 8.0及以上版本:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
    
    MySQL 5.7及更早版本:
    UPDATE mysql.user SET authentication_string = PASSWORD('new_password') WHERE User = 'root' AND Host = 'localhost';
    FLUSH PRIVILEGES;
    
    注意文件无多余空格/换行,编码为ANSI或UTF-8无BOM。
  • 停止MySQL服务再启动:按Win+R输入services.msc打开服务管理器,找到MySQL服务右键「停止」,再执行mysqld启动命令,避免端口或文件被占用。

二、解决mysql命令的1045访问错误

该错误是默认用ODBC用户无密码登录导致,需显式指定root用户登录:

mysql -u root -p

输入重置后的新密码即可登录。若仍报错,确认mysqld已成功执行init-file语句,重启MySQL服务后重试。


内容的提问来源于stack exchange,提问作者mgh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 02:55:20