これはメモです

それ以上でもそれ以下でもないのです

MAMPのMySQLでrootパスワードを再設定する

rootを「パスワード設定なし」にしたらエラーでMySQLに接続できなくなり再設定したのでメモ。

接続できません。設定が無効です。

mysqli::real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES)

MySQL サーバに接続しようとしましたが拒否されました。config.inc.php のホスト、ユーザ名、パスワードが MySQL サーバの管理者から与えられた情報と一致するか確認してください。

config.inc.phpとの不一致からエラーが出るよう。

1. パスワードなしでmysqlにログインできるようにする

/Applications/MAMP/conf内にmy.cnfファイルを作成し、下記記述を追加して保存。

[mysqld]
skip-grant-tables

2. 'mysql'データベースのuserテーブル内のrootパスワードをSQLで再設定する

初期パスワードはrootなので、rootにしておくと3.の工程は不要。

UPDATE user SET authentication_string=password('新規パスワード') WHERE user='root';

3. config.inc.phpに記載のパスワードを2. で設定したパスワードに変更する

エラーメッセージにはディレクトリの記載がないので分かりづらい。

/Applications/MAMP/bin/phpMyAdmin5にあるconfig.inc.php内のパスワードを変更する。

- $cfg['Servers'][$i]['password']  = 'root';
+ $cfg['Servers'][$i]['password']  = '新規パスワード';

4. MAMPを再起動

これで直るはず。

参考