技术文摘
Linux 系统下忘记 MySQL 密码如何解决
Linux 系统下忘记 MySQL 密码如何解决
在 Linux 系统中使用 MySQL 数据库时,忘记密码是一个常见的问题。不过,只要按照正确的步骤操作,还是能够轻松解决的。
我们需要以安全模式启动 MySQL。不同的 Linux 发行版启动方式略有不同。对于 CentOS 系列,可以通过修改 /etc/my.cnf 文件来实现。打开该文件,在 [mysqld] 部分添加或修改一行 skip-grant-tables。这一设置的作用是让 MySQL 在启动时跳过权限验证,以便我们能无密码进入数据库。修改完成后保存文件,然后使用命令 systemctl restart mysqld 重启 MySQL 服务。
接下来,无需密码登录 MySQL。在终端中输入 mysql 命令,即可成功进入 MySQL 命令行界面。进入之后,我们要切换到 mysql 数据库,使用命令 use mysql;。然后,更新密码。MySQL 8.0 及以上版本和之前版本更新密码的方式有所不同。对于较新版本,我们使用 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; 语句来修改密码。这里的 '新密码' 就是你要设置的新的 MySQL 密码。如果是旧版本,可以使用 UPDATE user SET password = PASSWORD('新密码') WHERE user = 'root' AND host = 'localhost'; 语句。
完成密码更新后,记得要刷新权限,让新密码生效。使用命令 FLUSH PRIVILEGES; 即可。
最后,我们要恢复 MySQL 的正常启动模式。重新打开 /etc/my.cnf 文件,将之前添加的 skip-grant-tables 这一行删除,保存文件后再次重启 MySQL 服务,使用刚刚设置的新密码就能正常登录 MySQL 了。
在 Linux 系统下忘记 MySQL 密码并不可怕,只要遵循上述步骤,就能顺利解决问题,恢复对数据库的正常访问。为了避免此类情况再次发生,建议将重要密码妥善保存,或者定期进行备份和更新。