在 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