技术文摘
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 密码的问题,让数据库能够继续正常使用。
- ObjectInputStream 类完成对象反序列化,ObjectOutputStream 类完成对象序列化流
- 元宇宙机遇:谁抓住谁掌控未来科技
- HTML5 打造的别踩白板小游戏
- 2021 年 11 月 TIOBE 榜单:Python 持续居首,PHP 前十地位不稳
- DDD 落地中聚合的持久化策略
- 2026 年,AI 赋能的 AR 应用程序用户将超两亿
- 深度人工智能与无线传感的碰撞火花(上篇)
- 流批一体,我们究竟在做什么?
- 以下两方面决定你所写代码:API 与抽象
- Gartner 孙鑫:深度剖析数据中台的技术与落地
- 每日算法之全排列问题
- 明晰现实和理想的差距 探寻边缘计算尚存的坑
- OAuth2.0 原理终于被讲清
- Axios 网络请求源码新鲜出炉的阅读笔记,你能懂吗?
- 补充篇:六种 Python 批量合并同一文件夹内子文件夹 Excel 文件所有 Sheet 数据的方法