mysql8.0密码怎么修改_mysql8.0版本密码修改最新教程

来源:这里教程网 时间:2026-02-28 20:20:08 作者:

修改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密码无法登录时,需要通过跳过权限验证的方式来重置。

停止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 &
无密码登录并修改:另开一个命令行窗口,直接登录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;查询。 基本上就这些。

相关推荐