记得密码时用ALTER USER命令修改,忘记密码则需停止服务后以--skip-grant-tables模式启动重置;注意密码策略、权限及主机名匹配问题。

修改MySQL 8.0的密码主要有两种情况:记得当前密码时正常修改,以及忘记密码时进行重置。操作需谨慎,确保输入正确命令。
记得密码:使用ALTER USER命令
这是官方推荐的标准方法,适用于知道当前密码的用户。
- 登录MySQL:打开命令行,使用以下命令并输入当前密码。 mysql -u root -p
-
执行修改命令:在MySQL提示符下,运行ALTER USER语句。请将
'root'@'localhost'替换为你的用户名和主机名,新密码要符合复杂度要求(大小写字母、数字、特殊字符)。 ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass123!'; - 刷新权限:虽然MySQL 8.0通常会自动生效,但执行以下命令可以确保更改立即应用。 FLUSH PRIVILEGES;
忘记密码:重置root密码
当忘记root密码无法登录时,需要通过跳过权限验证的方式来重置。
Ke361是一个开源的淘宝客系统,基于最新的ThinkPHP3.2版本开发,提供更方便、更安全的WEB应用开发体验,采用了全新的架构设计和命名空间机制, 融合了模块化、驱动化和插件化的设计理念于一体,以帮助想做淘宝客而技术水平不高的朋友。突破了传统淘宝客程序对自动采集商品收费的模式,该程序的自动 采集模块对于所有人开放,代码不加密,方便大家修改。集成淘点金组件,自动转换淘宝链接为淘宝客推广链接。K
-
停止MySQL服务:
- Windows:以管理员身份打开命令提示符,运行 net stop mysql(服务名可能为MySQL80等)。
- Linux:运行 sudo systemctl stop mysqld。
-
启动免密模式:
-
Windows:进入MySQL的bin目录(如
C:\Program Files\MySQL\MySQL Server 8.0\bin),运行 mysqld --console --skip-grant-tables --shared-memory 这个窗口会保持运行状态,不要关闭。 - Linux:运行 sudo mysqld_safe --skip-grant-tables --skip-networking &。
-
Windows:进入MySQL的bin目录(如
- 无密码登录并修改:另开一个命令行窗口,直接登录MySQL。 mysql -u root 登录后依次执行: FLUSH PRIVILEGES;ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新强密码';FLUSH PRIVILEGES;
-
重启服务:关闭之前运行免密模式的窗口,然后正常启动MySQL服务。
- Windows:运行 net start mysql。
- Linux:运行 sudo systemctl start mysqld。
常见问题与注意事项
操作过程中可能会遇到一些特定问题,提前了解可避免麻烦。
-
密码策略:MySQL 8.0默认启用强密码策略。如果想设置简单密码用于测试,可在配置文件
my.cnf或my.ini的[mysqld]部分添加validate_password.policy=LOW,然后重启服务再修改密码。 -
SYSTEM_USER权限:在某些版本(如8.0.16+)中,修改其他用户的密码可能需要SYSTEM_USER权限。如果遇到
ERROR 1227,可以先为自己授予该权限:GRANT SYSTEM_USER ON *.* TO 'root'@'localhost';,然后刷新权限。 - 主机名匹配:`'root'@'localhost'`和`'root'@'%'`被视为不同账户。务必确认你修改的是正确的用户主机组合,可用SELECT user, host FROM mysql.user;查询。









