MySQL 如何重置 MySQL root 密码

MySQL 如何重置 MySQL root 密码

MySQL 是一种广泛使用的关系型数据库管理系统,是许多互联网和企业应用程序的首选。有时,管理员或 DBA 可能因为某些原因而忘记或丢失 MySQL root 用户的密码。本篇文章将提供重置 MySQL root 密码的几种方法。

阅读更多:MySQL 教程

方法一:使用 mysqladmin

mysqladmin 工具是 MySQL 安装包自带的一个全局命令行客户端,可以用于管理 MySQL 服务器。可以使用以下步骤重置 MySQL root 密码:

  1. 首先,停止 MySQL 服务:
    sudo service mysql stop
    Mysql
  2. 使用以下命令启动 MySQL 服务,使用跳过权限验证的方式:
    sudo mysqld_safe --skip-grant-tables &
    Mysql
  3. 用以下命令使用 mysqladmin 来重置 MySQL root 密码:
    mysqladmin -u root flush-privileges password "NewPassword"
    Mysql

    注意:将 “NewPassword” 替换为您想要设置为 root 用户密码的新密码。

  4. 停止 MySQL 服务:

    sudo service mysql stop
    Mysql
  5. 现在,您可以使用以下命令以正常方式启动 MySQL 服务:
    sudo service mysql start
    Mysql

现在,您可以使用 “NewPassword” 作为 MySQL root 用户的新密码进行身份验证。

方法二:使用 mysqld_safe

如果您无法使用 mysqladmin 工具,则可以尝试使用 mysqld_safe 命令重置 MySQL root 密码。

  1. 首先,停止 MySQL 服务:
    sudo service mysql stop
    Mysql
  2. 使用以下命令启动 mysqld_safe:
    sudo mysqld_safe --skip-grant-tables --skip-networking --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock &
    Mysql
  3. 在不关闭上一个终端窗口的情况下,打开一个新的终端窗口。使用以下命令以身份验证方式连接到 MySQL 服务器:
    mysql -u root
    Mysql

    注意:此时不需要提供密码。

  4. 然后,使用以下命令在 MySQL 服务器上更改 root 用户的密码:

    use mysql;
    update user set password=PASSWORD("NewPassword") where User='root';
    flush privileges;
    Mysql

    注意:将 “NewPassword” 替换为您想要设置为 root 用户密码的新密码。

5.现在,关闭上一个终端窗口,停止 mysqld_safe:

```mysql
sudo kill $(sudo cat /var/run/mysqld/mysqld.pid)
```
  1. 使用以下命令以正常方式启动 MySQL 服务:
    sudo service mysql start
    Mysql

方法三:使用 init-file

第三种方法是使用 init-file 选项。init-file 允许您在 MySQL 启动时运行 SQL 语句。以下是使用 init-file 重置 MySQL root 密码的步骤:

  1. 首先,将以下语句存储在文件中(例如 /tmp/reset.sql):
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
    flush privileges;
    Mysql

    注意:将 “NewPassword” 替换为您想要设置为 root 用户密码的新密码。

  2. 然后,停止 MySQL 服务:

    sudo service mysql stop
    Mysql
  3. 使用以下命令启动 MySQL 服务,使用 init-file 选项来运行 /tmp/reset.sql 文件:
    sudo mysqld_safe --init-file=/tmp/reset.sql &
    Mysql
  4. 目前,您可以使用以下命令以正常方式启动 MySQL 服务:
    sudo service mysql start
    Mysql

现在,您可以使用 “NewPassword” 作为 MySQL root 用户的新密码进行身份验证。

总结

在管理 MySQL 数据库时,忘记 root 用户密码是一个相当常见的问题。本文介绍了三种可行的方法来重置 MySQL root 密码。第一种方法使用已安装的 mysqladmin 工具,第二种方法使用 mysqld_safe 命令,而第三种方法使用 init-file 选项。它们都需要一些基本的命令行技能,但是对于具有这种技能的管理员来说,这些方法应该都很简单易懂。无论使用哪种方法,我们都可以指望在遇到这个问题时不会惊慌,因为有了这些方法,我们可以很快恢复 root 用户密码,并恢复对数据库的完全访问。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册