Linux 上重置 MySQL root 密码的方法

2025-01-15 00:09:07   小编

Linux 上重置 MySQL root 密码的方法

在 Linux 环境中,有时会遇到忘记 MySQL root 密码的情况。别担心,下面将详细介绍几种常见的重置 MySQL root 密码的方法。

方法一:使用 mysqld_safe 选项

  1. 停止 MySQL 服务:打开终端,使用相应的命令停止 MySQL 服务。对于不同的 Linux 发行版,命令有所不同。例如,在 CentOS 上可以使用 systemctl stop mysqld;在 Ubuntu 上则是 service mysql stop
  2. 以安全模式启动 MySQL:接着,通过 mysqld_safe 选项以安全模式启动 MySQL 服务,跳过权限验证。在终端输入 mysqld_safe --skip-grant-tables &,这里的 & 表示让该进程在后台运行。
  3. 登录 MySQL:打开另一个终端窗口,输入 mysql -u root,无需密码即可登录到 MySQL 数据库。
  4. 重置密码:登录成功后,进入 MySQL 命令行环境。使用 SQL 语句更新 root 用户的密码。例如,在 MySQL 8 及以上版本中,可以使用 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';;在较旧版本中使用 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('新密码');
  5. 刷新权限并退出:执行 FLUSH PRIVILEGES; 命令刷新权限,然后使用 exit 命令退出 MySQL。最后,停止并重新以正常模式启动 MySQL 服务。

方法二:通过 MySQL 配置文件修改

  1. 编辑 MySQL 配置文件:使用文本编辑器打开 MySQL 的配置文件,在 CentOS 上通常是 /etc/my.cnf,在 Ubuntu 上是 /etc/mysql/mysql.conf.d/mysqld.cnf。找到 [mysqld] 部分,添加或修改 skip-grant-tables 这一行。
  2. 重启 MySQL 服务:保存配置文件后,重启 MySQL 服务。
  3. 登录并修改密码:如同方法一,无需密码登录 MySQL,然后使用相应的 SQL 语句重置密码。
  4. 恢复配置文件:密码重置完成后,将配置文件中的 skip-grant-tables 这一行删除或注释掉,再次重启 MySQL 服务,确保系统安全。

掌握这些在 Linux 上重置 MySQL root 密码的方法,能在遇到密码遗忘问题时迅速解决,保障数据库的正常使用和管理。

TAGS: MySQL数据库 Linux系统 mysql密码管理 root密码重置

欢迎使用万千站长工具!

Welcome to www.zzTool.com