アカウントとパスワード

rootのパスワードを変更するのに悩んだ話。

mysql> set password for root=password('パスワード');
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye

で、いざ、もいちどMySQLに接続!
…??パスワード変わってない(´・ω・`)


前のパスワードで入ってみてユーザを確認してみたところ。

mysql> select user,host from mysql.user;
+------------+-----------+
| user       | host      |
+------------+-----------+
| root       | %         | 
| root       | localhost | 
+------------+-----------+

rootよ。なんで2個もあるんですか。。
調べてみると、
OSで使ってる名前とMySQLで使ってるアカウントは別もので
つまり
root@localhostとroot@%は別もので
いつも接続するのはroot@localhostの方なので
こっちのパスワードを変更しないとでした。

mysql> set password for root@localhost=password('パスワード');
Query OK, 0 rows affected (0.00 sec)

これで、パスワードの変更は完了しましたっ。