XAMPPのMySQLやMariaDBでrootユーザーのパスワードを変更する方法


ローカル環境にWebサーバの環境を簡単に構築できるMAMPやXAMPPでデータベースを扱う際にrootユーザーのデフォルトパスワードが設定されていなかったりしますので、セキュリティのことを考えてパスワードを設定しておきたいところです。
またパスワードを変更したい場合もありますので、ここではXAMPPやMAMPといったローカル開発環境のMySQL/MariaDBでrootユーザーのパスワードを変更する方法をご紹介します。もちろん、MySQL単体でホストのPCにインストールしている場合でも大丈夫です。

rootユーザーのパスワードの変更方法ですが2パターンありまして、その一つとしてmysqladminコマンドを使う方法があります。
ただmysqladminコマンドでパスワードを設定をする方法では、「mysqladmin -u root password」のように手軽で簡単に設定できるのですが、ログファイルにパスワードが残ってしまいますのでセキュリティ面を考えるとオススメしません。

そこでもう一つの変更方法として、rootユーザーでログインしてから変更する方法をご紹介します。

MySQLのrootユーザーのパスワード変更


一番良いのはログインしてから変更する方法です。
おそらくローカル開発環境を構築する際にXAMPPやMAMPをインストールするとデフォルトでパスワードがrootとなっている、またはパスワードは空っぽで設定されていない状態とあります。
またホストのPCに単体でMySQLをインストールすると、インストールまでの設定でパスワードを設定するかと思います。
一度、rootユーザーでログインしてからパスワードを変更します。

パスワードの変更はmysql.userテーブルで管理されているユーザーの設定をUPDATE文で更新します。

UPDATE mysql.user SET password=PASSWORD('新しいパスワード') WHERE user='root';



UPDATE文でmysql.userテーブルに格納されているrootユーザーのパスワードに新しいパスワードをセットするという命令です。
例としてrootユーザーのパスワードを「asdfghjkl」に変更してみます。(実務ではこんな簡単なパスワードは使わないでくださいね)

設定を変更したらそれを反映させます。
MySQLを再起動しても良いですが、そんなことしなくても以下のコマンドですぐに反映できます。

FLUSH PRIVILEGES;



反映させたら「exit」で一度ログアウトします。

流れはこんな感じです。

XAMPPやMAMPでMySQLのrootユーザーのパスワード変更する



新しいパスワードでrootユーザーにログインできるか確認してみましょう。

XAMPPやMAMPでMySQLのrootユーザーの新しいパスワードの設定する



ここまでで無事パスワードを変更できたのですが、rootユーザーのパスワードを変更した際にもう一つ設定しておくものがあります。
データベースを構築する時にphpMyAdminを利用することもありますが、rootユーザーのパスワードを変更するとphpMyAdminでエラーメッセージが出て利用することが出来ません。

phpMyAdminのエラーメッセージ



原因はphpMyAdminの方でrootユーザーのパスワードの設定が変更されていないためです。
ですのでphpMyAdminの設定ファイルを編集して新しいパスワードを設定してあげます。

phpMyAdminの設定ファイルを編集


編集する設定ファイルはxamppフォルダの中のphpMyAdminフォルダの中の「config.inc.php」というファイルになります。

phpMyAdminの設定ファイルの場所



config.inc.phpをエディタで開きまして、だいたい21行目あたりに編集箇所があります。
Authentication type and infoの項目のパスワードの部分の最後のシングルクォーテーション「’」の中に新しいパスワードを入力してファイルを保存します。

config.inc.phpで認証パスワードを編集



新しいパスワードを設定することでphpMyAdminを利用する際に認証が通るので使えるようになります。

phpMyAdminの画面の確認



phpMyAdminに接続すると無事に画面が表示されるのが確認できます。

ローカル開発環境でちょっとでも大事な情報を扱うことがある場合は、rootユーザーのデフォルトのパスワードなどはしっかり変更しておき、セキュリティを高めておきましょう。