一、跳过权鉴表启动Mysqld
sudo mysqld_safe --skip-grant-tables --skip-networking &
二、使用root登陆数据库并清空原密码字段
mysql -u root # 无需密码直接登录
USE mysql; # 切换到权限表所在数据库
UPDATE user SET authentication_string='' WHERE User='root' AND Host='localhost'; # 修改密码
FLUSH PRIVILEGES; # 刷新权限使修改生效
三、恢复权鉴表重启Mysqld
sudo systemctl restart mysql
四、使用root空密码登陆数据库并设置新密码
mysql -uroot -p # 空密码直接登录
USE mysql; # 切换到权限表所在数据库
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; # 使用新语法修改密码
FLUSH PRIVILEGES;
Leave a Reply