技术文摘
Linux 系统下忘记 MySQL root 密码如何解决
Linux 系统下忘记 MySQL root 密码如何解决
在 Linux 系统中使用 MySQL 时,忘记 root 密码是一个常见的问题。不过不用担心,通过一些简单的步骤,我们可以重新获取对 MySQL 的访问权限。
我们需要停止正在运行的 MySQL 服务。在不同的 Linux 发行版中,命令可能略有不同。对于 CentOS 系列,可以使用命令:systemctl stop mysqld;对于 Ubuntu 系列,则使用:service mysql stop。
接下来,我们要以特殊模式启动 MySQL。在 CentOS 系统下,编辑 /etc/my.cnf 文件,在 [mysqld] 部分添加或修改一行:skip-grant-tables。这一行的作用是让 MySQL 在启动时跳过权限验证。保存并退出编辑器后,再次启动 MySQL 服务:systemctl start mysqld。
现在,我们可以无需密码直接登录到 MySQL 数据库。在终端中输入:mysql -u root,此时不需要输入密码,直接回车即可进入 MySQL 命令行界面。
进入 MySQL 后,我们要修改 root 用户的密码。首先选择 mysql 数据库,使用命令:use mysql;。然后使用 UPDATE 语句来更新密码。对于 MySQL 8.0 及以上版本,密码存储在 user 表的 authentication_string 字段中,执行命令:UPDATE user SET authentication_string = PASSWORD('新密码') WHERE User = 'root' AND Host = 'localhost';。如果是较旧版本,密码字段可能是 password,则命令为:UPDATE user SET password = PASSWORD('新密码') WHERE User = 'root' AND Host = 'localhost';。
修改完成后,使用 FLUSH PRIVILEGES; 命令来刷新权限,确保新密码生效。
最后,我们需要恢复 MySQL 的正常启动模式。先退出 MySQL 命令行,使用 exit; 命令。然后编辑 /etc/my.cnf 文件,删除之前添加的 skip-grant-tables 这一行,保存并退出。接着重启 MySQL 服务,再次使用新密码登录 MySQL:mysql -u root -p,输入新密码后回车,若能成功登录,说明密码修改成功。
通过以上步骤,我们就成功解决了 Linux 系统下忘记 MySQL root 密码的问题,让数据库能够继续正常使用。
- 应对持续膨胀接口的策略
- 分布式计算中的数据质量探讨
- 深入探究 Go Json.Unmarshal 精度丢失之因
- Go 读文件的十种方法全总结
- 偏向锁的命运波折
- Node.js 开发的五个原因
- JavaScript 里 find() 与 filter() 方法的差异
- 探索式测试的相关问题
- 一行代码淘汰 Debug 与 Print ,推动算法学习
- React 与 Vue:2022 年最佳框架之争
- 架构师必知:技术架构的数据与应用改进之法
- Filter 与 Backdrop-filter 傻傻分不清?深入解析其异同
- 为何不进行重构?
- Dotnet Core 技术中 Dotnet 6.0 的深度剖析
- Proto 代码的存放位置令人头疼