こんにちは。
今回は本当は先に書いたWindowsでのWordPressローカルデバッグ環境をMacでも作ったよ!
の話を書くつもりだったのですが・・・・
ふと、出来心でMAMPのMySQLのrootのパスワードが
rootであることが気にかかって、別のパスワードに変更したところ・・・
phpMyAdminで上記のエラー画面になってしばらく時間を無駄にした話を書いておきます・・・
もしかして同じエラーで苦しんでいる方がいるかもしれないので、エラーメッセージをテキストでも貼り付け。
検索結果でお力添えができますように。
phpMyAdminのエラーメッセージ
MySQL のメッセージ:
接続できません。設定が無効です。
mysqli::real_connect(): (HY000/1045): Access denied for user ‘root’@’localhost’ (using password: YES)
MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください。
どーせローカル環境なんだからパスワードなんか変えなくていいんだよ!
という意見もあると思います。
が、しかしですね、それでもね!!デフォルトのパスワードそのままだと落ち着かないんですよ・・・
ななふの環境情報
OS:macOS Monterey12.4(M1)
MAMP:6.6
PHP:7.4.21
MySQL:5.7.34
phpMyAdmin:5.1.1
結論として、今回はまってしまった件に関してはphpMyAdminのバージョンが原因でした。
では、以下からMySQLのrootのパスワード変更の部分から解決までの道のりを書きたいと思います。
MAMPのMySQLのrootのパスワード変更
今回はこちらの記事を参考にパスワード変更しました。
記事が更新されたのが2018年と結構前だったのですが
他の似た内容の記事と比べて詳しかったので、参考にさせていただいてました。
MySQLのrootパスワードの設定
ターミナルでmysqlコマンドを使ってrootパスワード変更しました。
作業場所↓
cd /Applications/MAMP/Library/bin
まずは初期パスワードでログイン
./mysql -u root -p
以下のEnter password: では初期パスワードの’root’を入力
Enter password:
そうすると以下の表示に。ログインできました。
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1198 Server version: 5.7.34 MySQL Community Server (GPL) Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
任意のパスワードに変更するため、以下のコマンドを入力。参考記事の例と同じく
rootをhogehogeに変えたい場合。
set password for root@localhost=password(‘hogehoge’);
以下のメッセージが出たら新しいパスワードに変更できたということ・・・。
Query OK, 0 rows affected (0.00 sec)
参考記事では、これだけではphpMyAdminのアクセスでエラーになるからと、ちゃんと書いてくれています。以下引用です。
※パスワード設定完了しただけではphpMyAdminの操作画面のアクセスでエラーがでるので、以下の「phpMyAdminの設定変更」でエラー解消の設定をしてください。
引用:MAMPの使い方まとめ3
phpMyAdminの設定変更
今のrootのパスワード変更した状態では、今回の記事冒頭に貼り付けたphpMyAdminエラーになるということで、参考記事に従って以下の作業をしました。
/Applications/MAMP/bin/phpMyAdmin/config.inc.phpを開いて以下の箇所に先ほど設定したrootのパスワードを記述します。
引用:MAMPの使い方まとめ3
以下の場所にあるconfig.inc.phpファイルのパスワードの欄を、新しいパスワードに書き換えました。
/Applications/MAMP/bin/phpMyAdmin
config.inc.phpファイルの中身を抜粋↓
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address $cfg['Servers'][$i]['port'] = '8889'; // MySQL port - leave blank for default port $cfg['Servers'][$i]['socket'] = ''; // Path to the socket - leave blank for default socket $cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket') $cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli') $cfg['Servers'][$i]['compress'] = FALSE; // Use compressed protocol for the MySQL connection // (requires PHP >= 4.3.0) $cfg['Servers'][$i]['controluser'] = ''; // MySQL control user settings // (this user must have read-only $cfg['Servers'][$i]['controlpass'] = ''; // access to the "mysql/user" // and "mysql/db" tables). // The controluser is also // used for all relational // features (pmadb) $cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)? $cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = 'hogehoge'; // MySQL password (only needed
※この行がパスワードの変更箇所ですね
$cfg['Servers'][$i]['password'] = 'hogehoge'; // MySQL password (only needed
さあ、これでMAMPコンソールでサーバを再起動(停止->サーバを起動)したら、
phpMyAdminにアクセスできるんじゃない?
・・・でも冒頭のエラー画面のまま。なんで〜・・・
ちなみに、MAMPのサーバーを再起動後に立ち上がるブラウザの「Welcome to MAMP」のMySQLの表示では新しいパスワードが設定されていることが確認できました。
MySQLのターミナルで変えたパスワードは変更できているのは、確かなんだけど。
phpMyAdminとphpMyAdmin5がある!エラー解決!
ここで何回も色々見直す苦しい時間になったわけですが、
ふと「phpMyAdminへようこそ」のエラー画面のURL欄が気になったんですよね。
http://localhost:8888/phpMyAdmin5/
と表示されている事に・・・phpMyAdminに5がついてる。
これは!?と思って、/Applications/MAMP/bin/の下のフォルダ構成を良く見てみたら・・・
phpMyAdminとphpMyAdmin5があるではないですか!
そして、先ほど参考記事と同じようにパスワードを変更したファイル
config.inc.phpファイルが、phpMyAdmin5の下にもある!
早速、
/Applications/MAMP/bin/phpMyAdmin5
の下の、config.inc.phpファイルのパスワード部分を’hogehoge’に書き換えました!!
これで無事にphpMyAdminのエラー画面とさよならできましたーーー!
参考記事のshファイルの修正はしなくても?
phpMyAdminにログインできてめでたしめでたし!
なんですが、参考記事の最後の方のまだエラーが出るという内容が気になり・・・
※phpMyAdminへのログイン時にパスワードを入力する設定だとなぜかMAMP起動時に以下のエラーが表示されます。
との事で、エラー対処方法として
/Applications/MAMP/bin
の下にあるシェルスクリプト(sh)で’-proot’とパスワードがベタ打ちされているファイルを確認。
ターミナルで以下コマンドで検索してみました。
grep '\-proot' *sh
その結果、参考記事と同じファイルがヒットしました。
checkMysql.sh:/Applications/MAMP/Library/bin/mysqlcheck --all-databases --check --check-upgrade -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock quickCheckMysqlUpgrade.sh:/Applications/MAMP/Library/bin/mysqlcheck --quick --check-upgrade -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock mysql repairMysql.sh:/Applications/MAMP/Library/bin/mysqlcheck --all-databases --repair -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock stopMysql.sh:/Applications/MAMP/Library/bin/mysqladmin -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock shutdown upgradeMysql.sh:/Applications/MAMP/Library/bin/mysql_upgrade -u root -proot --socket=/Applications/MAMP/tmp/mysql/mysql.sock --force --verbose
ですが、今の私の環境ですと特にエラーメッセージが出てなかった・・・
phpMyAdmin5では処理変わっているのかな?汗
またエラーが出るようになったら対策することにしまーす・・・
まとめ
phpMyAdminのバージョンの確認もれが原因なんですが、なかなか気付けなくて時間を無題にしてしまいました。
また同様なミスをしそうですけど汗
では、今回は以上です。
ありがとうございました!
コメント
コメントありがとうございます!
お役に立ててよかったです^^
まったく同じ症状だったので助かりました!
記事の作成ありがとうございます!