简介:
失去或忘记MySQL root密码可能是一种压力很大的情况,但请不要担心;有一种方法可以重新获得对Ubuntu中MySQL数据库的访问。在本文中,我们将引导您浏览如何在Ubuntu系统上重置MySQL root密码的分步指南。我们将使用一种涉及停止MySQL服务,创建临时配置文件并为Root用户设置新密码的方法。
步骤1:停止MySQL服务
第一步是停止MySQL服务,以确保我们可以安全地进行密码重置过程。打开终端并运行以下命令:
sudo service mysql stop
步骤2:创建一个临时配置文件
接下来,我们将创建一个临时配置文件,以启动MySQL服务而无需密码身份验证。这将使我们可以重置root密码。运行以下命令来创建文件:
sudo nano /etc/mysql/mysql.conf.d/reset-mysql-password.cnf
步骤3:将配置添加到文件
在纳米编辑器中,将以下行添加到reset-mysql-password.cnf文件中。
[mysqld]
skip-grant-tables
要保存更改并退出编辑器,请按Ctrl + X,然后键入Y,最后按Enter。
步骤4:在安全模式下启动MySQL服务
使用临时配置文件,以安全模式启动MySQL服务:
sudo mysqld_safe --skip-grant-tables &
步骤5:连接到没有密码的MySQL
现在,我们可以无需输入密码即可连接到MySQL Server。打开一个新的终端窗口并运行以下命令:
mysql -u root
步骤6:为根用户设置新密码
连接到MySQL提示符后,是时候为Root用户设置新密码了。执行以下SQL命令:
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOUR_NEW_PASSWORD';
用所需的密码替换'your_new_password'。冲洗特权;命令确保更改立即生效。
如果您在使用弱密码时遇到以下错误
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
如果您想使用弱密码(不建议),则可以像以下修复此操作。
SHOW VARIABLES LIKE 'validate_password%';
SET GLOBAL validate_password.policy=LOW;
现在再次运行密码更新SQL:
步骤7:退出mySQL并删除配置文件
设置新密码后,退出MySQL提示:
exit;
删除临时配置文件:
sudo rm /etc/mysql/mysql.conf.d/reset-mysql-password.cnf
步骤8:重新启动MySQL服务
最后,重新启动MySQL服务以应用更改:
sudo service mysql restart
恭喜!您已成功地重置Ubuntu系统上的MySQL root密码。现在,您可以使用设置的新密码访问MySQL数据库。始终确保保持MySQL root密码安全。