适用于Mysql密码忘记 、 需要重置密码并且登录到数据库修改新密码的场景
这里以MariaDB为例、在Euler系统下:
1. 停止 MySQL 服务
systemctl stop mysql
2. 启动 MySQL 服务到安全模式 跳过授权表 这种模式下 MySQL 不会验证用户权限。
mysqld_safe --skip-grant-tables &
3. 登录 MySQL 控制台
mysql #或者mysql -u root
4. 刷新权限表
FLUSH PRIVILEGES; #这一步是关键,否则无法使用alter修改root密码
5. 重置 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root123';
6. 退出 MySQL 控制台
exit;
7. 停止 MySQL 服务
pkill mariadb
#这一步是为了杀死刚刚我们启动的安全模式的MySQL进程,
#也可以用kill -9 PID 或者 killall -9 服务名
8. 重新启动 MySQL 服务
systemctl start mariadb
9. 测试新密码
mysql -u root -proot123 #推荐-p 回车再输入密码 非显式 加密码不推荐
MySQL显示成功登录即可表示重置成功✅