在 Mac 上更改 MySQL 根密码

Habdul Hazeez 2023年1月30日
  1. 为 OSX 安装 XAMPP
  2. 确认 root 用户没有密码
  3. 使用 SQL ALTER 语句更改 root 用户密码
  4. 使用你的新 root 用户密码登录
在 Mac 上更改 MySQL 根密码

本文教你如何在 OSX 上更改 MySQL root 用户密码。我们将使用 XAMPP,以便你可以使用 MySQL 控制台更改密码。

为 OSX 安装 XAMPP

首先,从 Apache Friends 下载并安装 XAMPP for OSX。安装 XAMPP 后,使用终端访问 XAMPP 安装目录。

之后,使用以下命令登录 MySQL:

mysql -u root -p

就目前而言,root 用户没有密码。结果,前面的命令将在没有密码提示的情况下登录 MySQL。

但在我们更改密码之前,让我们确认 root 没有密码。

确认 root 用户没有密码

要确认 root 用户没有密码,请使用以下命令切换到 mysql 数据库:

USE mysql;

mysql 数据库有很多表,但我们感兴趣的是 user 表。user 表有 UserPassword 列。

后者包含用户的密码。因此,使用以下命令检查用户 root 的密码:

SELECT User, authentication_string from user;

输出(如果 root 没有密码):

+------------------+------------------------------------------------------------------------+
| User             | authentication_string                                                  |
+------------------+------------------------------------------------------------------------+
| debian-sys-maint | $A$005$Wv1MO|Uh1gezb+wKL5oU1hvgAp90tnMa9fTMbPNZtGAFSYC6dgziVVPAd0 |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session    | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys        | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root             |                                                                        |
| temp             | $A$005$)e>qXOK0S_d
                                       l(JVnBtaCRN8F8OFHnnWVFxXGM1kRPHMq/1kNQvGZQRiR5 |
+------------------+------------------------------------------------------------------------+
6 rows in set (0.01 sec)

如果 root 用户没有密码,你的输出应该和上面的一样。现在,让我们更改密码。

使用 SQL ALTER 语句更改 root 用户密码

要更改 root 用户密码,你将使用 SQL ALTER 语句来分配新密码。因此,以下将 root 密码更改为 DelftStack

ALTER USER root@localhost IDENTIFIED BY 'DelftStack'

输出:

Query OK, 0 rows affected (0.021 sec)

现在,确认 root 有密码:

SELECT User, authentication_string from user;

输出(你的密码会有所不同):

+------+-------------------------------------------+
| User | Password                                  |
+------+-------------------------------------------+
| root | *D064C3894639CE84CBA931173B3A55263B736A7B |
| root |                                           |
| root |                                           |
| pma  |                                           |
+------+-------------------------------------------+
4 rows in set (0.001 sec)

为确保密码更改在你下次登录时生效,请刷新权限:

FLUSH PRIVILEGES;

使用你的新 root 用户密码登录

root 用户拥有密码后,你可以使用以下密码登录:

mysql -u root -p

执行前面的命令后,MySQL 会要求你输入密码。如果你输入正确的密码,你就可以登录;否则,你将收到拒绝访问消息。如果发生这种情况,请仔细检查你的密码并重试。

作者: Habdul Hazeez
Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn