MySQL 5.7 版本修改密码的方式与早期版本有所不同,尤其是默认启用了密码策略和验证插件。下面介绍几种常用的修改密码方法,适用于本地管理员或忘记密码等情况。
使用 ALTER USER 修改密码
如果你已经登录到 MySQL 并具有足够权限(如 root),推荐使用 ALTER USER 语句来修改密码。
登录 MySQL:在终端执行mysql -u root -p,输入当前密码 执行修改命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';刷新权限使更改生效:
FLUSH PRIVILEGES;
注意:MySQL 5.7 默认使用 validate_password 插件,要求密码包含大小写字母、数字和特殊字符,长度不少于8位。如果设置的密码太简单会报错。
跳过权限验证修改密码(适用于忘记密码)
当你忘记 root 密码时,可以通过跳过权限检查的方式来重置。
停止 MySQL 服务:sudo systemctl stop mysql以跳过权限表方式启动 MySQL:
sudo mysqld_safe --skip-grant-tables --skip-networking &登录 MySQL(无需密码):
mysql -u root切换到 mysql 数据库:
USE mysql;更新 root 用户密码:
UPDATE user SET authentication_string = PASSWORD('新密码') WHERE User = 'root' AND Host = 'localhost';
刷新权限并退出:FLUSH PRIVILEGES;然后
exit;重启 MySQL 服务以恢复正常模式:
sudo systemctl restart mysql
使用 mysqladmin 修改密码
如果你知道当前密码,也可以用命令行工具 mysqladmin 直接修改。
执行以下命令:
mysqladmin -u root -p password "新密码"
系统会提示输入旧密码,然后设置新密码。
关闭密码强度验证(可选)
若不想受复杂密码限制,可临时关闭 validate_password 插件。
登录 MySQL 后执行:UNINSTALL PLUGIN validate_password;
之后就可以设置简单密码了。但出于安全考虑,建议仍使用强密码。
基本上就这些。根据你是否记得密码选择对应方法,操作时注意主机名(Host)是否匹配,常见为
localhost或
127.0.0.1。修改完成后建议测试登录一次确认无误。
