在这篇文章中, 我们将向您展示如何重置 MySQL root 密码以备忘记. 以下步骤适用于任何现代 Linux 发行版.
首先停止 MySQL 或 MariaDB 服务
sudo systemctl stop mysql
无需密码即可启动 MySQL 服务器
mysqld_safe --skip-grant-tables &
登录到 MySQL shell
mysql -u root
设置一个新的 MySQL root 密码
根据您在系统上运行的 MySQL 或 MariaDB 服务器版本, 您需要使用不同的命令来恢复 root 密码.
您可以通过发出以下命令找到您的服务器版本:
- mysql --version
- mysql Ver 8.0.11 for Linux on x86_64( MySQL Community Server - GPL )
从上面的输出中可以看到, 我运行的是 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 用户帐户和数据库.
来源: http://www.linuxidc.com/Linux/2018-05/152575.htm