るいすのブログ

オタクエンジニアの雑記

MySQLでDBに同じユーザーで権限を付与すると他のDBに接続出来なくなる現象


Wordpressに触れるようになって必然的に中指の第一関節ぐらいまで突っ込んだ知識を得たLAMP関係。 そんな中で知ったこと。

 

同じユーザーで異なるパスワードでDBに接続は出来ない

初めて知った... 今までMySQLを用いたプログラム作ってきたけど何故か今までこのことで困らなかった。

GRANT ALL PRIVILEGES ON A.* to hoge@localhost IDENTIFIED BY 'hoge';
GRANT ALL PRIVILEGES ON B.* to hoge@localhost IDENTIFIED BY 'fuga';

こんな感じにAとBに同じユーザーで、違うパスワードで権限を付与すると 2回目に実行したコマンドで、1回目のコマンドが上書きされて2回目のユーザーとパスワードで AとBのどっちにも接続出来るようになります。

セキュリティ的にデータベース毎にユーザーを分けるのであれば ユーザーを新しく指定しないとダメみたいです。