技术文摘
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 密码并不可怕,只要遵循上述步骤,就能顺利解决问题,恢复对数据库的正常访问。为了避免此类情况再次发生,建议将重要密码妥善保存,或者定期进行备份和更新。
- Oracle 数据库中所有表名及注释的查询
- Windows10 系统下 Oracle 完全卸载的正确步骤
- 高并发场景中 Redis + Lua 的防重校验分析
- Oracle 时间范围自动分区的创建方法
- Oracle 基于时间列的 range 分区自动创建方法
- SpringMVC 统一异常处理的三种方式剖析
- SQL Server 2008 数据库分布式查询要点
- Redis7 持久化机制 RDB 与 AOF 的详细介绍
- SQL Server 2008 首次登录失败的问题与解决之道
- Oracle 数据字典全面解析
- Redis 集群 Lettuce 主从切换问题的解决办法
- 深入解析 Oracle 表空间
- Oracle 启动时数据库还原恢复报 ORA-00704、ORA-00604、ORA-00904 的问题解决之道
- Redis 慢查询的达成方式
- Oracle 中 all 和 any 函数的用法及区别阐释