为Windows用户提供了MySQL 8.0密码修改与重置的详尽流程。无论您是需要更新已知密码,使用ALTER USER或mysqladmin,还是面对忘记密码的窘境,通过停止服务、跳过权限表重置,再到安全重启,我们都提供了系统化的步骤和注意事项,确保您的数据库安全。
在Windows系统中,MySQL 8.0的密码管理涉及已知密码修改和忘记密码重置两种场景。系统梳理这两种场景的操作步骤、技术要点及注意事项。
已知当前密码时修改密码
使用ALTER USER语句(推荐)
-
登录MySQL:
mysql -u root -p输入当前密码后进入MySQL命令行。
-
修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';示例 :将密码改为
MyNewPass123!ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!'; -
刷新权限(MySQL 8.0通常自动生效,但可显式执行):
FLUSH PRIVILEGES;
使用mysqladmin工具
-
在CMD中执行 :
mysqladmin -u root -p password "新密码"示例 :
mysqladmin -u root -p password "MyNewPass123!"系统会提示输入当前密码,验证后生效。
忘记密码时重置密码
停止MySQL服务
-
打开任务管理器 → 服务 → 找到
MySQL80服务 → 右键停止 。
或通过命令行:net stop MySQL80
以跳过权限表模式启动MySQL
-
进入MySQL的
bin目录(如C:\Program Files\MySQL\MySQL Server 8.0\bin)。 -
执行以下命令启动MySQL(跳过权限验证):
mysqld --skip-grant-tables --shared-memory注 :
--shared-memory是Windows必需参数。
无密码登录并修改密码

-
新开CMD窗口 ,进入MySQL的
bin目录后执行:mysql -u root此时无需密码即可登录。
-
修改密码 (MySQL 8.0需使用
ALTER USER):ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';示例:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!'; -
退出MySQL:
exit;
重启MySQL服务
-
关闭跳过权限表的CMD窗口。
-
在服务管理器中启动
MySQL80服务,或通过命令行:net start MySQL80
关键注意事项
密码强度要求
MySQL 8.0要求密码包含大小写字母、数字和特殊字符(如!)。
权限刷新
正常修改密码后无需手动刷新,但忘记密码重置后建议重启服务。
错误处理
支持中文域名与国际域名(IDN)的SSL证书申请!lcjmSSL完美兼容国际化域名,无论你是企业品牌域名还是个人中文站点,均可顺利申请SSL证书,让非英文域名的网站也能享受同等安全保护。
-
若报错
Column count of mysql.user is wrong,需执行:mysql_upgrade -u root -p -
若
ALTER USER失败,尝试先执行:FLUSH PRIVILEGES;
完整操作示例(忘记密码场景)
:: 停止服务
net stop MySQL80
:: 跳过权限表启动
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
mysqld --skip-grant-tables --shared-memory
:: 新开窗口执行(另起CMD)
mysql -u root
-- 在MySQL命令行中执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!';
exit;
:: 重启服务
net start MySQL80