MySQLのパスワード変更
MySQLのユーザパスワードを変更する場合はログイン後に次のコマンドでOK。
mysql> set password for hoge=PASSWORD('hogespassword');
rootのパスワードを変更しようとすると。。。
mysql> set password for root=PASSWORD('rootpassword'); ERROR 1133 (42000): Can't find any matching row in the user table
あれ?エラーが出てるんで、mysql.userを確認
mysql> select user,host,password from mysql.user; +----------+------------+ | user | host | +----------+------------+ | hoge | % | | root | 127.0.0.1 | | root | localhost | | root | production | +----------+------------+
どうやらrootユーザにはhostが'%'のレコードがないためにエラーが出てたみたいなので、hostを指定しても一度実行。
mysql> set PASSWORD for root@localhost=PASSWORD('rootpassword'); Query OK, 0 rows affected (0.00 sec)