FreeBSD 13.2, MySQL 5.7: ERROR 1045 (28000): Access denied for user ‘root’

先日からMySQL関係でバタバタしています。とりあえず既存データベースを mysqldump でバックアップしたあと、他のサーバーに引っ越しして復元する手順を確認しておこうとしています。

引っ越しテストサーバーに MySQL 5.7(サポート終了バージョン)をインストールした後、”service mysql-server start” で起動。mysql は無事に起動したので、安心していましたが、

そのあと、

mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

で、ログインできないことに気づきました。

これも数時間悩みました。MySQLを入れたり、消したり。

ふと、画面に表示されているインストールログに目が行き、読んでみると。

Message from mysql57-server-5.7.42:

--
Initial password for first time use of MySQL is saved in $HOME/.mysql_secret
ie. when you want to use "mysql -u root -p" first you should see password
in /root/.mysql_secret

Unixログイン用のrootパスワードじゃなく、root の $HOME/.mysql_secret に保存されているとのこと。がっくり。安全性のためか、root と mysql のパスワードは分離されたのかも。

私は別に MySQL を使いたいわけじゃなくて、WordPress に必要だから入れているだけ。だからMySQLのバージョンアップによる仕様変更なんて追跡していないわけです。目の前にある答えが見えずに、数時間あ~でもないこ~でもないと試行錯誤しましたよ。

ログイン後、https://dev.mysql.com/doc/refman/8.0/ja/resetting-permissions.html を参考に、

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

で、変更すればよいみたい。

コメントを残す