ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
MariaDBと同じく、ログイン認証プラグインがかわり、現在のユーザーとmysqlにログインしようとしているユーザーが異なるとログインできない状態になっている。
そのままの状態でも、rootのLinuxユーザーから実行すれば、mysql -u root で問題なく接続できる。
現在のプラグイン確認
use mysql; SELECT user, host, plugin FROM user; +------------------+-----------+-----------------------+ | user | host | plugin | +------------------+-----------+-----------------------+ | mysql.infoschema | localhost | caching_sha2_password | | mysql.session | localhost | caching_sha2_password | | mysql.sys | localhost | caching_sha2_password | | root | localhost | auth_socket | +------------------+-----------+-----------------------+
プラグインを変更する
ALTER USER 'root'@'localhost' identified WITH mysql_native_password;
Your password has expired. To log in you must change it using a client that supports expired passwords.
パスワードを再設定する
ALTER USER `root`@`localhost` IDENTIFIED BY '', `root`@`localhost` PASSWORD EXPIRE NEVER;