MySQLのユーザアカウント削除とパスワード変更

2月 6, 2010

前回に引き続きMySQLの基本中の基本ではあるけれど、いざとなるといちいち調べる
はめになるので、ここに書いておく。

ユーザ削除のコマンド。

mysql > DROP USER exampleuser@’localhost’;
mysql > FLUSH PRIVILEGES;


FLUSH PRIVILEGESでユーザテーブルをリフレッシュするのを忘れないように。。
(と、自分に言い聞かせる)
すべてのホストを指定したい場合は、以下のように「%」で指定すればよい。

mysql > DROP USER exampleuser@’%';
mysql > FLUSH PRIVILEGES;


ちなみにMySQLでは「%」が「*」の代わりにワイルドカートになる、ということも、
しばらく使ってないと忘れてしまうのであった。他のRDBMSでも同じだったかなぁ。。

しかし、user@’%'にはuser@localhostは含まれないようだ。
ユーザ作成時にそのユーザをlocalhostから接続させるためにはuser@”%”だけでは駄目で、
user@localhostを指定しなくてはならないってことなので、削除時も同じかも知れない。
実機で試してみれば分かることではあるが。。時間がない。

追記
「%」は任意の複数文学で、「_」(アンダーバー)は任意の1文字だそうだ。
なので特定の文字列とこれらを併用して、一定の範囲のアクセス元を設定
することができる。

パスワードの変更。ログインユーザのパスワード変更は以下のように。

mysql > SET PASSWORD = PASSWORD(‘new-password’);


他のユーザのパスワード変更は、rootで実行可能。

mysql > SET PASSWORD FOR exampleuser@’localhost’ = PASSWORD(‘new-password’);


SET PASSWORD 実行時はFLUSH PRIVILEGESが必要なのかどうか、不明。
ちょっと調べればわかることだけど、やはり時間がない。。
ユーザテーブルを操作するわけだから、やっておくべきだろうとは思うが。


Categories: MySQL