如何重置MySQL root密码

在这篇文章中,我们将向您展示如何重置MySQL root密码以备忘记。 以下步骤适用于任何现代Linux发行版。

首先停止MySQL或MariaDB服务

sudo systemctl stop mysql

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

mysqld_safe --skip-grant-tables &

登录到MySQL shell

mysql -u root

如何重置MySQL root密码

设置一个新的MySQL root密码

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

您可以通过发出以下命令找到您的服务器版本:

mysql --version

mysql Ver 8.0.11 for Linux on x86_64( MySQL Community Server - GPL )

如何重置MySQL root密码

从上面的输出中可以看到,我运行的是MySQL 8.0.11版本。

如果您有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 authentication_string = PASSWORD('MY_NEW_PASSWORD')
WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;

在这两种情况下,如果一切顺利,您应该看到以下输出:

Query OK, 0 rows affected (0.00 sec)

使用以下命令停止服务器

sudo mysqladmin shutdown

最后启动MySQL或MariaDB服务

sudo systemctl start mysql

总结

您已经了解如何重置您的MySQL或MariaDB root密码。 您现在可以查看这些说明并学习如何管理MySQL用户帐户和数据库。

就这样! 如果您有任何问题或反馈,请随时发表评论。

相关推荐