0

「データベースを表示」というクエリを防ぐにはどうすればよいですか。または「テーブルを表示します。」非ルートユーザーのmysqlで。これは可能ですか。そうであれば、例または適切なリンクを提供してください...これを示しています..

前もって感謝します........

4

3 に答える 3

1

root 以外のユーザーは、グローバル権限 (GRANT something ON *.* など) を持っている場合にのみ、すべてのデータベースを参照できます。したがって、解決策は常にすべてを ON databasename .* に付与し、決してグローバルに付与しないことです。

于 2009-12-01T11:54:41.600 に答える
0

私はshow_db_priv試してみます:

http://dev.mysql.com/doc/refman/5.1/en/grant-table-structure.html

しかし、これが機能しないという報告があります。次のバグ エントリを参照してください。

http://bugs.mysql.com/bug.php?id=1048

于 2009-12-01T11:54:58.930 に答える
0

今すぐリンクを取得できませんが、これは根本的なパーミッションの問題であり、root ユーザーへのアクセスを制御します。

phpmyadmin などのツールで、ルート管理者を除くすべてのユーザーに対して、これら 2 つのデータベース (およびその他のデータベース) のアクセス許可を取り消したいとします。通常、1 つのデータベースに対して 1 人のユーザーを取得する共有サーバーを使用している場合は、ホストと通信する必要があります。

私の一般的なルール(dbサーバーに対する権限制御がある場合)は、特定のデータベースまたは(テーブルのサブセット)に対して新しいユーザーを作成し、常にそのユーザーをWebまたはdbと通信する他のアプリケーションからのみ使用することです。最初はより多くの設定が必要ですが、設定が完了すると、より多くの制御が可能になり、1 つのアプリケーションが別のアプリケーションに干渉できないことがわかります。

root アクセスは、アプリケーションの使用には許可されていません。これは、メンテナンスのみを目的としています。

于 2009-12-01T11:55:57.387 に答える