下面就详细讲解一下在 Linux 环境下 mysql 的 root 密码忘记了之后应该如何解决,包括三种解决方法:
方法一:使用 mysql 安全模式重置 root 密码
- 首先,关闭 mysql 服务:
sudo systemctl stop mysql
- 然后,在安全模式下启动 mysql 服务,并跳过权限验证:
sudo mysqld_safe --skip-grant-tables &
在这里需要注意的是,一定要加上 &
符号,以使 mysqld_safe 在后台运行。
- 接着,登录到 mysql 服务中:
mysql -u root
- 接下来,修改 root 用户的密码:
use mysql;
update user set authentication_string=password('new_password') where user='root';
flush privileges;
其中,new_password
为你所设置的新密码。
- 最后,重启 mysql 服务:
sudo systemctl restart mysql
这样,就完成了使用安全模式重置 root 密码的过程。
方法二:使用默认权限登录并修改密码
- 在 mysql 登录界面,使用默认权限登录:
mysql -u root
- 登录之后,查看当前数据库中用户的信息:
select user,host,authentication_string from mysql.user;
在这个查询结果中,会显示所有用户的信息,我们需要找到 root 用户对应的那一行。
- 更新 root 用户的密码:
update mysql.user set authentication_string=password('new_password') where user='root';
flush privileges;
其中,new_password
为你所设置的新密码。
- 最后,退出 mysql 并重启服务:
quit;
sudo systemctl restart mysql
这样,就完成了使用默认权限登录并修改密码的过程。
方法三:使用 mysql_config_editor 重置 root 密码
- 首先,创建一个包含 mysql 用户名和密码的配置文件:
mysql_config_editor set --login-path=local --host=localhost --user=root --password
在这个命令中,--password
表示将会自动弹出密码设置对话框,从而避免了在命令行中输入密码的操作。
- 修改 root 用户的密码:
mysql --login-path=local -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';"
其中,new_password
为你所设置的新密码。
- 最后,重启 mysql 服务:
sudo systemctl restart mysql
这样,就完成了使用 mysql_config_editor 重置 root 密码的过程。
以上就是在 Linux 环境下 mysql 的 root 密码忘记了之后解决方法的三种方案,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在Linux环境下mysql的root密码忘记解决方法(三种) - Python技术站