by shigemk2

当面は技術的なことしか書かない

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

  • mysql 5.7.19
  • ubuntu 17.04

5.7でrootを空パスワードにすると、ログインできなくなるのは、認証のプラグインのデフォルトでauth_socketなるものを使っているから。

mysql_native_passwordに変更するといいらしく。

ネイティブのパスワードハッシュ化方式を使用して、mysql.user テーブルと照合する認証が実装された

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

なるほど。