Mac で MySQL ルートパスワードを変更する

Habdul Hazeez 2023年1月30日
  1. XAMPPforOSX をインストールする
  2. root ユーザーがパスワードを持っていないことを確認する
  3. SQL ALTER ステートメントを使用して root ユーザーパスワードを変更する
  4. 新しい root ユーザーパスワードでログインする
Mac で MySQL ルートパスワードを変更する

この記事では、OSX で MySQL root ユーザーパスワードを変更する方法について説明します。XAMPP を使用して、MySQL コンソールを使用してパスワードを変更できるようにします。

XAMPPforOSX をインストールする

まず、ApacheFriends から OSX 用の XAMPP をダウンロードしてインストールします。XAMPP がインストールされたら、端末を使用して XAMPP インストールディレクトリにアクセスします。

その後、以下を使用して MySQL にログインします。

mysql -u root -p

現状では、root ユーザーにはパスワードがありません。その結果、前のコマンドはパスワードプロンプトなしで MySQL にログインします。

ただし、パスワードを変更する前に、root にパスワードがないことを確認しましょう。

root ユーザーがパスワードを持っていないことを確認する

root ユーザーにパスワードがないことを確認するには、以下を使用して mysql データベースに切り替えます。

USE mysql;

mysql データベースには多くのテーブルがありますが、私たちの関心は user テーブルです。user テーブルには、User 列と Password 列があります。

後者には、ユーザーのパスワードが含まれています。したがって、以下を使用して、ユーザー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 はパスワードの入力を求めます。正しいパスワードを入力するとログインします。それ以外の場合は、Access denied というメッセージが表示されます。その場合は、パスワードを再確認して、もう一度お試しください。

著者: 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

関連記事 - MySQL Root