MySQLログインユーザは「ユーザ名@ホスト名」毎に別管理

JDBC経由で他ノード(というかWinPCのEclipseからLinuxサーバへアクセスで)のMySQLに接続するDAOもどきのサンプルを自作したときに、もろもろの設定は正しく設定されているのにも関わらず、以下のようなエラーになってしまうという事象にあたりました。

java.sql.SQLException: Invalid authorization specification: Access denied for us
er: 'testuser@192.168.11.11' (Using password: YES)

よく見ると、アクセス拒否されたユーザ名がtestuser@(WinPCのIPアドレス)になっています。

そこで、以下のようにユーザに権限を与えてみたところ、正常にログインができるようになりました。

grant all on test.* to testuser@192.168.11.11 identified by 'testpass';

MySQLでは「(ユーザ名)@(ホスト名)」でひとつのユーザとして認識されているんですね。もし仕事で使った事があればそんなことはないのでしょうけど、MySQLは自宅環境の自ノードAPからのアクセスしかやったことがなかったので、今まで知りませんでした。


#このページのレスがヒントになりました。

http://mtlab.ecn.fpu.ac.jp/WSM_2002/021023212519.html

ちなみにMySQLでは、jsp10@127.0.0.1と、jsp10@localhostは
別のユーザとして認識されます。