技术文摘
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 密码的问题,让数据库能够继续正常使用。
- 令人惊叹!CSS 竟能实现烟雾效果?
- Web3 究竟是什么?怎样去使用?
- ECMAScript 新提案:JSON 模块 令人惊叹
- 面试必谈:Kafka 消费模型解析
- 30 个类模拟手写 Spring 核心原理中的 MVC 映射功能
- Go 服务自动采样性能分析的方案设计及实现
- 深入了解基于 Next.js 的 SSR/SSG 方案
- Go 工程化:优雅编写 Repo 层代码之道
- 微软专利披露 WMR 系列 VR 头显的 MR 透视效果图像对齐方法及系统
- Go 中值为 Nil 能否调用函数?
- Hashtable 用于检验随机数随机性
- JavaScript 数据分组的优雅实现方式
- 实战:Spring Boot 整合阿里开源中间件 Canal 达成数据增量同步
- 超实用的 Python 库,每次推荐都爆火!
- atomic 包在减少锁冲突中的运用之道