XAMPPでアプリ開発しているとき・・・
- PCを乗り換えして新環境に
- その過程でXAMPP設定も移行
という場面がありました。
そこで困ったのが旧環境ではルートユーザーにパスワードを設定してたことです。それが新環境では設定されていませんでした。
すこし設定復元に戸惑ったので、XAMPP環境にてMySQLのルートユーザーにパスワード変更する方法を解説。忘備録も兼ねてます。
このページの目次
1.まずmysqlコマンドからパスワード変更
ここではWindows環境を前提として解説します。
でも他環境でもだいたい同じ手順なはずです。
まずターミナル・コマンドプロンプトを開いてください。
▼ 開いたらmysqlのインストール先へ移動
1 |
> cd c:\xampp\mysql\bin |
もしCドライブ直下にXAMPPをインストールしたなら、上のコマンドをそのまま貼り付けで問題ありません。もし別の場所なら各自環境にあわせてください。
▼ そしたら次のコマンドを実行
1 |
> mysqladmin -u root password |
▼ 新パスワードを2回入力する
1 2 |
New password: ******** Confirm new password: ******** |
これでMySQLのパスワード変更完了
パスワード変更自体は簡単ですね。
2.なぜかphpMyAdminにアクセスできなくなる
なぜかというより原因は明らかですが・・・
phpMyAdminにてこういうエラーが出てしまいました。
mysqli::real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: NO)
MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください。
当然ですがルートパスワードを変更したからと言って、自動的にphpMyAdminの設定に反映されるわけではありません。
3.phpMyAdminの設定(config.inc.php)を修正
この修正はconfig.inc.phpの修正すればOK
↓ このファイルがある場所のパス例
1 |
C:\xampp\phpMyAdmin\config.inc.php |
ただしCドライブ直下にXAMPPがある場合のパスです。もし違う場所にインストールしたのなら、必要に応じて読み替えてください。
そしてconfig.inc.phpに次の箇所があります。
↓ デフォルトだと空パスワード
1 2 3 4 |
/* Authentication type and info */ $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = ''; |
だいたい21行目くらいにあるはず
これを先ほど設定したパスに置き換えてください。
↓ このように新パワードに設定
1 2 3 4 |
/* Authentication type and info */ $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '【新パスワード】'; |
これでXAMPPを再起動すればOK
新環境でデータベースが上手く動作しないなら、まずは新環境でのルートパスワード変更を行ってみてください。
あと新環境・旧環境のPHPバージョンが違ったり、Apache設定が違うと動かなくなることがあります。その点のチェックも欠かさずに...
まとめ.XAMPPでのパスワード変更は簡単
ということで簡単にまとめます。
- mysqlコマンドからパスワード変更
- するとphpMyAdminにアクセス不可になる
- phpMyAdminの設定(config.inc.php)を修正
こういう手順をやればいいだけです。
以上、XAMPPでMySQLパスワード変更でした。ではまた