MySQLで、パスワードを変更しようかと、SET PASSWORD を実行しようとすると、エラーが。
mysql> SET PASSWORD FOR test@localhost = PASSWORD('password'); ERROR 1133 (42000): Can't find any matching row in the user table
マッチする行がないとかいわれても、何度見返してもちゃんと、test@localhostはuserテーブルに存在してるし。
そんなときは、 GRANTのあとに FLUSH PRIVILEGES を入れていないからかもしれません。
mysql> FLUSH PRIVILEGES;
としてみるといいらしい。
mysql> grant all on *.* to test@localhost identified by 'password'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)