MySQL の admin user以外で、ログインできなかった話
管理者権限のないuserでログインするとできなかった。
どうやら、MySQL5.7では、plugin を mysql_native_password にしないとパスワードなしログインはできないデフォルトらしい。
$ mysql -uroot ERROR 1698 (28000): Access denied for user 'root'@'localhost'
mysql> use mysql mysql> select Host,User,plugin from user limit 1; +-----------+------+-----------------------+ | Host | User | plugin | +-----------+------+-----------------------+ | localhost | root | auth_socket | +-----------+------+-----------------------+ 1 row in set (0.00 sec) mysql> update user set plugin='mysql_native_password' where User='root'; Query OK, 1 row affected (0.00 sec) Rows matched: 2 Changed: 1 Warnings: 0 mysql> select Host,User,plugin from user limit 1; +-----------+------+-----------------------+ | Host | User | plugin | +-----------+------+-----------------------+ | localhost | root | mysql_native_password | +-----------+------+-----------------------+ 1 row in set (0.00 sec)