プロが教えるわが家の防犯対策術!

MySQLに関する質問なのですが、

データベースが
test
test2
と2つあるとします。

user1に関しては、test2にあるテーブル以外は見ることができないようにしたいのですが、

rootで接続し
mysql> grant all privileges on test2.* to user1@localhost identified by 'xyz';
mysql> flush privileges;
とuser1を追加して、一旦ログアウトし

user1で接続して、
mysql> use test:
mysql> show tables;
でtestにあるテーブルを見ることができます。

上記grant文に間違いがあるのでしょうか?

よろしくお願いいたします。

A 回答 (3件)

すみません。

すでにテーブルを作ってたら削除は避けたいですよね。
http://www.dbonline.jp/mysql/user/index4.html
に権限の削除に関する詳細が載ってました。参考にしてみてください。

この回答への補足

教えていただいたサイトを手がかりに、色々検索し、mysqlデータベース内のテーブルというものにたどり着きました。
この辺がまだ理解できてないので、このあたりに原因がありそうな気がします。
ちょっと、難解そうなので、また質問させていただくかもしれません。
ですので、もうしばらく締め切らないでおきます。

補足日時:2007/02/02 17:52
    • good
    • 0

mySql の場合、最初から test データベースが設定されていて


全てのユーザーがアクセスできるはずです。
test データベースを削除して作り直すか、他のデータベースを作ってやってみたらどうでしょう。
grant の構文はあってますから大丈夫です。
    • good
    • 0

test というTABLE自体の設定で、他のユーザーに公開する設定になっていませんか?

この回答への補足

moon_nightさん、申し訳ありません。
「TABLE自体の設定」というのは、どうすればばわかるんでしょうか?
MySQLのリファレンスマニュアルを見ましたが、わかりませんでした。
よろしくお願いいたします。

補足日時:2007/02/01 21:49
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!