MySQL - ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


MySQL5.7をインストールし、コマンドラインからdbにアクセスしようとしたところ、↓のエラーが発生

$ mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


rootのパスワードが違うとのことで、データベースmysqlのuserテーブルでrootのパスワードを変更しようとしたところ、

mysql> update user set password=PASSWORD("パスワード") where User='root';
ERROR 1054 (42S22): Unknown column 'password' in 'field list'

カラムpasswordは存在しません。と怒られてしまった。

これは、MySQL5.7.6からpasswordからauthentication_stringに変更になったよう。↓のコマンドでパスワード変更できました。

mysql> update user set authentication_string=password("パスワード") where user='root';

その後、mysql -u root で無事接続成功。