如何在 Linux 上重置 MySQL 的 root 密码?

作为一名网站运维人员, 当需要管理MySQL服务器时, 由于安全、变更和维护原因,我们可能会需要修改 MySQL 的 root 密码。但有时忘记密码,这时该怎么办?本文将介绍如何在 Linux 上重置 MySQL 的 root 密码。

在 Linux 上重置 MySQL 的 root 密码需要以下两个步骤:

  1. 停止 MySQL 服务
  2. 使用需要重置密码的 MySQL 用户重启 MySQL,并重置 root 密码

以下是详细的步骤:

  1. 停止 MySQL 服务

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

# systemctl stop mysqld
  1. 使用需要重置密码的 MySQL 用户重启 MySQL,并重置 root 密码

使用以下命令启动 MySQL,并设置不需要密码即可登录:

# systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
# systemctl start mysqld

接着,使用以下命令登录 MySQL:

# mysql -uroot

由于已经使用 --skip-grant-tables 设置了跳过验证,所以此时 MySQL 不会要求输入密码。

登录成功后,使用以下命令来修改 root 用户的密码:

mysql> UPDATE mysql.user SET authentication_string=PASSWORD('newpassword') WHERE User='root';

修改后,执行以下命令刷新 MySQL 权限:

mysql> FLUSH PRIVILEGES;

最后,使用以下命令退出 MySQL 并重置 MySQL 服务:

mysql> exit;
# systemctl unset-environment MYSQLD_OPTS
# systemctl restart mysqld

在 Linux 上重置 MySQL 的 root 密码就完成了。在生产环境中,请务必记住将 --skip-grant-tables 前缀从 MySQL 配置中删除,以增加数据库安全性。

总结:

本文介绍了如何在 Linux 上重置 MySQL 的 root 密码。通过在 MySQL 启动时使用 --skip-grant-tables 前缀,我们可以在没有 root 密码的情况下登录 MySQL,从而重置 root 用户的密码。在生产环境中,务必注意保护 MySQL 的安全性。

以上就是如何在 Linux 上重置 MySQL 的 root 密码?的详细内容,更多请关注https://www.sxiaw.com/其它相关文章!