技术文摘
Linux 上重置 MySQL root 密码的方法
2025-01-15 00:09:07 小编
Linux 上重置 MySQL root 密码的方法
在 Linux 环境中,有时会遇到忘记 MySQL root 密码的情况。别担心,下面将详细介绍几种常见的重置 MySQL root 密码的方法。
方法一:使用 mysqld_safe 选项
- 停止 MySQL 服务:打开终端,使用相应的命令停止 MySQL 服务。对于不同的 Linux 发行版,命令有所不同。例如,在 CentOS 上可以使用
systemctl stop mysqld;在 Ubuntu 上则是service mysql stop。 - 以安全模式启动 MySQL:接着,通过 mysqld_safe 选项以安全模式启动 MySQL 服务,跳过权限验证。在终端输入
mysqld_safe --skip-grant-tables &,这里的&表示让该进程在后台运行。 - 登录 MySQL:打开另一个终端窗口,输入
mysql -u root,无需密码即可登录到 MySQL 数据库。 - 重置密码:登录成功后,进入 MySQL 命令行环境。使用 SQL 语句更新 root 用户的密码。例如,在 MySQL 8 及以上版本中,可以使用
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';;在较旧版本中使用SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');。 - 刷新权限并退出:执行
FLUSH PRIVILEGES;命令刷新权限,然后使用exit命令退出 MySQL。最后,停止并重新以正常模式启动 MySQL 服务。
方法二:通过 MySQL 配置文件修改
- 编辑 MySQL 配置文件:使用文本编辑器打开 MySQL 的配置文件,在 CentOS 上通常是
/etc/my.cnf,在 Ubuntu 上是/etc/mysql/mysql.conf.d/mysqld.cnf。找到[mysqld]部分,添加或修改skip-grant-tables这一行。 - 重启 MySQL 服务:保存配置文件后,重启 MySQL 服务。
- 登录并修改密码:如同方法一,无需密码登录 MySQL,然后使用相应的 SQL 语句重置密码。
- 恢复配置文件:密码重置完成后,将配置文件中的
skip-grant-tables这一行删除或注释掉,再次重启 MySQL 服务,确保系统安全。
掌握这些在 Linux 上重置 MySQL root 密码的方法,能在遇到密码遗忘问题时迅速解决,保障数据库的正常使用和管理。
- 由 Bash 编译!超炫 Linux 资源监视器
- 避免滥用 try...except...,摆脱苦海
- 项目中应否使用 Go?我的思考
- 数据中台:从概念到现实的价值探寻
- 同事因使用 Insert into select 语句被开除
- Spring 循环依赖全图解,从此无惧面试提问
- arXiv 论文查阅新神器:一行代码判别版本差异,于 Github 新开源!
- IDEA 代码生成神器推荐,告别加班写代码!
- 用户失误由我承担:用户输入错误如何处理
- JavaScript 类的优秀改进实践
- 3 个 Python 函数助程序员摆脱循环编写 提升运行速率
- 几行代码的库竟坑数百万项目
- C# 9 新特性:代码生成器与编译时反射
- C++助力新贵Python应用提速 8000 倍 铸就不朽传奇
- 硅谷科技巨头 CEO 年薪探秘:这 10 位高薪代表