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は
別のユーザとして認識されます。

コマンドプロンプトのコマンド・エイリアス

普段ping打つとかipconfig見るとかくらいにしか使ってないコマンドプロンプトを多用しなければいけないとき、「ls」や「pwd」でつっかかるのが結構ストレスになります。

doskey ls = dir

こんな感じでUNIXでいうaliasを指定できますが、そのプロンプトが終了すると設定が無効になってしまうので、以下の解説ページを参考にレジストリ設定を行いました。


http://www.ne.jp/asahi/hishidama/home/tech/windows/cmd/cmd.html


ちょっとだけ自分用にカスタマイズ。このbatファイルだと「pwd」でディレクトリ移動とかできてしまうんですが、個人的につい無意識に「pwd」を打つ癖があるので、無理やりな感じで入れてます。

  • cmd_init.batの中身
@echo off
doskey cat=type $*
doskey history=doskey /history
doskey ls=dir $*
doskey pwd=cd $*
doskey rm=del $*
reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /d c:\bin\cmd_init.bat