• 締切済み

ユーザにインフォメーション スキーマを表示させたくない

データベース「database1」作成と同時に、それをいじる権限だけ与えたユーザ「user1」を作成しました。 user1 でログインすると、データベース「information_schema」も表示されてしまいます。 information_schema を表示させない方法というより、database1 のみを表示させる方法を教えてください。

みんなの回答

回答No.4

「--one-database」指定時の操作性を確認しました。 #3の「--database=データベース名」または「-D データベース名」の指定だと、最初に「use データベース名」を入力する必要があるようです。 「--database=」または「-D」を指定せずにデータベース名を指定すれば、最初のuseは省略できるようです。 mysql -u ユーザ名 -p --one-database test2 または mysql -u ユーザ名 -p -o test2

username
質問者

補足

当該ユーザの代わりに私が当該ユーザの ID でログインする際はオプションを付けられるのですが、当該ユーザがどのようにログインしても所期の目的を達成したいと思っています。 まだ未解決ですが、質問数制限のため、いったん閉じたいと思います。

回答No.3

MySQLに接続時に、次のような指定を行ってください。 test2というデータベースだけ使用する例です。 mysql -u ユーザ名 -p --one-database --database=test2 または mysql -u ユーザ名 -p -o -D test2 http://dev.mysql.com/doc/refman/5.1/ja/mysql-command-options.html

回答No.2

>問題のある/なしを言っているのではなく、表示させない方法を聞いているのです。 >また、私は質問者なので、私に対する質問はご遠慮ください。 まず、「データベース」と質問中にあるから、「データベースではない」と回答しました。 また、「見れるのは自分の情報だけ」ということを知った上での質問なのかを確認しています。 質問に対し、質問の意図を確認したり、不明な情報の提示を求めるといったことは、Q&Aサイトでは当然のことでは?

回答No.1

マニュアルを眺めたところ、 (1)「information_schema」は、(データベースのように見えるが)データベースではない。 (2)「information_schema」は、全ユーザが参照可能。 (3)(2)だが、参照できる内容は、そのユーザが権限を持つものだけ。 といった内容の記述がありました。 つまり、通常のデータベースのような、権限の付与・取り消しはできません。 特定のユーザが、そのユーザに権限のあるものの定義情報を見れることに、問題がありますか?

username
質問者

補足

> そのユーザに権限のあるものの定義情報を見られることに、問題がありますか? 問題のある/なしを言っているのではなく、表示させない方法を聞いているのです。

関連するQ&A