Mac
 Computer >> コンピューター >  >> トラブルシューティング >> Mac

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

MySQLのrootパスワードを設定する理由

MySQLに一度もrootパスワードを設定していない場合、サーバーはrootユーザーでの接続時にパスワードを一切要求しません。しかし、この状態はセキュリティ上非常に危険です。必ずrootパスワードを設定することを強くおすすめします。

初めてrootパスワードを設定する方法は、主に以下の2通りあります。

方法1:mysql_secure_installationコマンドを使う

このコマンドを実行すると、旧パスワードと新パスワードの入力を求められるほか、テストデータベースの無効化をはじめとする各種セキュリティ設定もまとめて行えます。

手順:ターミナルを起動し、以下のコマンドを入力します。

mysql_secure_installation

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

その後、以下のように質問に答えて進めていきます。

  • Change the root password? [Y/n] ← y(rootパスワードを変更するか?)
  • New password ← 新しいMySQLのrootパスワードを入力
  • Re-enter new password ← 確認のため同じパスワードを再入力
  • Remove anonymous users? [Y/n] ← y(匿名ユーザーを削除するか?)
  • Disallow root login remotely? [Y/n] ← y(rootによるリモートログインを禁止するか?)
  • Remove test database and access to it? [Y/n] ← y(テストデータベースとアクセス権を削除するか?)
  • Reload privilege tables now? [Y/n] ← y(権限テーブルを今すぐ再読み込みするか?)
MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

補足:この操作でエラーが出る最も一般的な原因は、パスワードが空欄になっていることです。MySQLデータベースへ接続する際は、以下のようにrootパスワードを明示的に指定してください。

mysqladmin -u root -pROOT-PASSWORD

方法2:mysqladminコマンドを使う

シェルプロンプトからmysqladminコマンドを実行してパスワードを設定する方法です。

  • ターミナルを開き、以下のコマンドを入力します。
    mysqladmin -u root password newpass
  • パスワードを入力します。
MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

もし以下のようなエラーが表示された場合は、

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

後述の「MySQLパスワードの復元手順」に従って対処してください。

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

注意:上記コマンド例の「password」という単語はコマンドの一部です。自分のパスワードに置き換えず、新しいパスワードは「newpass」の部分に入力してください。

忘れたMySQLのrootパスワードをリセットする手順

MacにMySQLをインストールしてrootパスワードを設定してから時間が経つと、パスワードをうっかり忘れてしまうことがあります。「まさにそれだ」という方もご安心ください。Mac本体のrootユーザーパスワードさえ分かれば、コマンドラインからMySQLデータベースのパスワードを簡単にリセットできます。

MySQLのパスワードリセット自体は難しくありませんが、使用しているバージョンによって手順が異なる点に注意しましょう。

それでは、MacでMySQLのパスワードをリセットする具体的な手順を見ていきます。

ステップ1:MySQLサーバーを停止する

「システム環境設定」を開いて「MySQL」を選択し、「Stop MySQL Server」をクリックします。

ヒント:ターミナルからMySQLサーバーを停止することも可能です。以下のコマンドを入力してください。

service mysql stop

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

正常に実行されると、以下のような出力が表示されます。

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

または「Stopping MySQL database server: mysqld」と表示されます。

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

ステップ2:権限チェックをスキップしてセーフモードで起動する

ターミナルで以下のコマンドを入力し、権限テーブルをバイパスした状態でサーバーを起動します。

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

以下のように表示されます。

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

ステップ3:MySQLクライアントでサーバーに接続する

新しいターミナルウィンドウを開き、以下のコマンドを1行ずつ入力します。

mysql -u root

出力は以下のとおりです。

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

ステップ4:新しいrootパスワードを設定する

ここで入力するコマンドは、MySQLのバージョンによって異なります。

  • MySQL 5.7.5以前の場合:UPDATE mysql.user SET Password=PASSWORD('新しいパスワード') WHERE User='root'; を実行します。
  • MySQL 5.7.6以降の場合:ALTER USER 'root'@'localhost' IDENTIFIED BY '新しいパスワード'; を実行します。

どちらの場合も、最後に FLUSH PRIVILEGES; を実行して権限情報を反映させておくと安心です。

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

ステップ5:MySQLサーバーを停止する

以下のコマンドでMySQLを停止します。

killall mysqld

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

ステップ6:MySQLサーバーを再起動して動作を確認する

最後に、MySQLサーバーを再度起動し、新しいパスワードで正しくログインできるかテストしましょう。

MacでMySQLのrootパスワードをリセットする方法【設定・復元手順を解説】

押さえておきたいポイント

MySQLはパスワードなしでも利用できますが、セキュリティの観点からはrootパスワードを設定しておくのが賢明です。仮にパスワードを忘れてしまっても、Macであれば本ガイドの手順に従うことで、MySQLのrootパスワードは難なく復元できます。ぜひこのガイドを活用してください。

  1. Macにプリンターを追加する方法【Wi-Fi・Bluetooth・USB・IPアドレス対応】

    新しいプリンターを購入して書類を印刷しようと思ったら、まずMacにプリンターを追加(登録)する必要があります。しかし、初めてMacにプリンターを追加する場合、手順に戸惑ってしまう方も少なくありません。ご安心ください。この記事では、Wi-Fi、Bluetooth、USB、IPアドレスという4つの方法でMacにプリンターを追加する手順を詳しく解説します。※本記事では「システム環境設定」での操作を紹介していますが、macOS Ventura以降では名称が「システム設定」に変更されていますので、あわせてご確認ください。目次1. Wi-Fiでプリンターをワイヤレス接続する方法2. Bluetoothでプ

  2. MacにOS Xを再インストールできないときは?PRAMのリセットで解決する方法

    ある夜、3台のiMacをOS Xのクリーンインストール状態に復元しようとしたところ、「OS Xをこのコンピュータにインストールできません」という厄介で少し不安になるエラーメッセージが表示されました。不思議なことに、この現象は3台すべてのiMacで発生しており、いずれも以前にBoot Campパーティションが作成されていた機種でした。そこで、さまざまな試行錯誤を重ねた結果、全台でPRAMをリセットすることによって問題を見事に解決することができました。 PRAMとは何か? Macの世界におけるPRAMとは、「Parameter Random Access Memory(パラメータRAM)」の略