首页 > 数据库 > mysql教程 > linux mysql 忘记root

linux mysql 忘记root

PHPz
发布: 2023-05-20 14:29:08
原创
850 人浏览过

如何恢复root密码

在使用Linux系统和MySQL数据库时,我们可能会遇到忘记root密码的情况。这时,如果没有办法找回密码,就只能重置密码或重新安装系统。然而,这些做法都有一定的风险,可能导致数据丢失或操作不当而影响系统稳定性。在此,我们将介绍两种安全、简便且可行的方法来恢复MySQL root密码。

方法一:使用mysqld_safe启动MySQL

如果我们没有设置跳过认证方式,并且MySQL安装的版本为5.7.6及以上时,可以通过mysqld_safe启动MySQL,并且跳过了密码认证。接下来的步骤如下:

1.停掉MySQL服务。

使用以下命令停止MySQL服务:

systemctl stop mysql

2.使用mysqld_safe启动MySQL。

使用以下命令启动mysqld_safe,并跳过密码校验:

mysqld_safe --skip-grant-tables &

3.验证MySQL是否已经启动。

使用以下命令验证mysqld_safe已经启动:

ps -ef | grep mysql

如果已经启动,则输出如下:

root 3810 1 0 09:52 pts/0 00:00:00 mysqld_safe --skip-grant-tables
mysql 3962 3810 0 09:52 pts/0 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --skip-grant-tables --pid-file=/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306

其中,“--skip-grant-tables”就是跳过密码认证的命令。

4.登录MySQL并修改密码。

使用以下命令登录MySQL:

mysql -u root

如果出现以下提示:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

则表示跳过认证成功。详情可见错误代码意义。

使用以下命令修改密码:

mysql> update mysql.user set authentication_string=password('new_password') where User='root' and Host='localhost';
mysql> flush privileges;
mysql> quit

在修改密码时,需要把“new_password”替换成你想要的新密码。

5.停止mysqld_safe。

使用以下命令停止mysqld_safe:

systemctl stop mysql

6.使用新密码登录MySQL。

使用以下命令登录MySQL:

mysql -u root -p

当出现以下提示时,即表示修改成功:

Enter password:(输入新密码即可登录)

方法二:使用mysql_config_editor工具

如果我们有mysql_config_editor工具,则可以通过该工具来修改密码。mysql_config_editor是MySQL 5.6及以上版本中新增的一个命令行实用程序。使用mysql_config_editor可以管理MySQL凭证文件和组,以及加密和解密凭证信息。以下是具体步骤:

1.启动mysql_config_editor。

使用以下命令启动mysql_config_editor:

mysql_config_editor set --login-path=local --user=root --password

这里的“local”指的是这个凭证组的名字,可以根据自己的喜好更改。

2.输入新密码。

在执行上一步命令后,终端会等待输入密码。只需输入新密码即可。

3.验证新密码是否生效。

使用以下命令验证密码是否成功修改:

mysql --login-path=local -e "select user,host from mysql.user;"

如果可以正常显示user和host信息,则表示修改成功。

总结

以上就是恢复MySQL root密码的两种方法。通过这两种方法,我们可以简单、快速地解决MySQL root密码丢失的问题。

需要注意的是,在恢复密码之后,为了系统的安全性,我们需要更改root密码,并进行加强设置。同时,我们还需要避免简单密码、重复使用密码等安全隐患。这样,就能确保我们的数据和系统的完整性和安全性。

以上是linux mysql 忘记root的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板