systemctl stop mysqldmysqld_safe --skip-grant-tables &mysql -u root根据您在系统上运行的mysql或maridb服务器版本,您需要使用不同的命令来恢复root密码。
[root@linux /]# mysql --version
mysql Ver 14.14 Distrib 5.6.47, for Linux (x86_64) using EditLine wrappermysql 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;mysqladmin shutdown
systemctl start mysqld