技术文摘
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 密码的问题,让数据库能够继续正常使用。
- CAS 中 ABA 问题与优化策略
- 如何跨越使用 Docker 网络解决方案 Weave 时的“坑”
- ShutIt:Python 驱动的 Shell 自动化框架
- 实时深度学习的推理提速与持续训练
- 大前端公共知识漫谈
- 集成方法与神经网络:自动驾驶技术的机器学习算法探索
- 物联网预热,嵌入式系统基础知识重温
- 深度神经网络与人类视觉在信号弱时物体识别的差异比较
- Hello World 程序的起源及历史
- Python 代码的优雅书写之道
- 掌握前后分离接口规范 化解不必要沟通困扰
- 美团 O2O 广告:日订单量超 1000 万单的探索之旅
- 知加一周精选:程序员一生至多只需三种编程语言
- 京东金融智能运维:直击传统运维痛点之初探
- JavaScript 的六种继承模式