首先停止mysql或mariadb服务

systemctl stop mysqld

无需密码即可启动MySQL服务器

mysqld_safe --skip-grant-tables &

登录到mysql

mysql -u root

修改密码

根据您在系统上运行的mysql或maridb服务器版本,您需要使用不同的命令来恢复root密码。

[root@linux /]# mysql --version
mysql  Ver 14.14 Distrib 5.6.47, for Linux (x86_64) using  EditLine wrapper

mysql 5.7.6及更高版本或mariadb 10.1.20及更高版本,请运行以下命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MY_NEW_PASSWORD';
FLUSH PRIVILEGES;

mysql 5.7.5及更早版本或mariadb 10.1.20及更早版本,请运行以下命令:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD');
FLUSH PRIVILEGES;

如果ALTER USER语句不适用于您,请尝试直接修改用户表:

update mysql.user set password=password("MY_NEW_PASSWORD") where user="root";
FLUSH PRIVILEGES;

重启mysql服务器

mysqladmin shutdown
systemctl start mysqld
最后修改:2022 年 02 月 24 日
如果觉得我的文章对你有用,请随意赞赏