タイトルの通りです。
背景
- HomebrewでMySQL5.7インストール済
- rootユーザーでログインできなくなった(以前はできていた)
- パスワードを変更してみよう
- 変更前と同じDBがあるか確認もできました
環境
- MacOS Bigsur(Ver 11.4)
- Homebrew 3.2.10
- MySQL 5.7.34(Ver 14.14)
手順
rootユーザーログインエラー
$ mysql -u root -p
#エラー
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
mysqlをストップする
$ brew services stop mysql@5.7
Stopping `mysql@5.7`... (might take a while)
==> Successfully stopped `mysql@5.7` (label: homebrew.mxcl.mysql@5.7)
mysqlのステータスを確認する
$ brew services list
Name Status User Plist
mysql@5.7 stopped
PATHを確認する
$ echo $PATH
...../usr/local/opt/mysql@5.7/bin:......
#コロンで区切ってある
mysqld_safeで起動(セーフモード)
$ /usr/local/opt/mysql@5.7/bin/mysqld_safe --skip-grant-tables #ここで、さっき確認したPATHが必要
#以下が出力される
2021-09-15T06:02:06.6NZ mysqld_safe Logging to '/usr/local/var/mysql/MacBook-Pro.local.err'.
2021-09-15T06:02:06.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
#そのまま以下を入力
update mysql.user set authentication_string=password("新しいパスワード") where user='root';
mysql再起動
sudo mysql.server start
いざ、ログイン!!
「update」で新パスワードを設定した後に、画面がなかなか変わらなかったので、ターミナルの別ウィンドウを開いていじってたら、いつの間にか「~ $」(いつもの入力画面)に戻ってました。
~ $ mysql -u root -p
さいごに
新パスワードでログインできた!!!
データベースも今まで通りでした。よかった〜
パスワードは変えてないはずだし、ログインできなくなった理由が分からなくて、もやもや。。。
とりあえず今まで通りのDB接続できるので進めます。