MySQLいじり

とりあえずデータベースっつーかSQL言語くらいは知っとかないとあかんべ、ってことでWindowsでも動かせるMySQLをチョイス。基本は他でもそんなにかわらんだろうしなー。

ちと古いが日本語版リファレンスマニュアルを読みつつチャッチャとインストール&サーバ立ち上げ完了。んじゃ次はユーザ権限設定かー、とか思いつついじってみるもちょいつまづく。

データベースの考え方でいうユーザって「どこのデータベースのどういったテーブルのユーザ」bっていう場所指定がけっこうあるみたいで、ここを理解するのにっつーか、「どこのサーバの誰々さん」っていう場所指定一回なイメージを崩すのに苦労した感が。

そして今回一番迷ったのがGRANT構文によるユーザ追加なんだけど…。これ不親切なのかバグなのかセキュリティ上のアレなのかわかんないんだけど、"IDENTIFIED BY 'pass'"で同時になんらかのパスワードを指定してやらないと(パスワード空白指定、つまり"IDENTIFIED BY ''"はダメだった)、

ERROR 1133 (42000): Can't find any matching row in the user table

が出ておこらりてしまう(ver 5.0.22)。

調べてみると同様の現象にあった方がいて解決したんだけど、なんでなのかがわからないってゆー。とりあえずエラーメッセージは正確に表示してもらわないと困ります、ということで。