「データベースを表示」というクエリを防ぐにはどうすればよいですか。または「テーブルを表示します。」非ルートユーザーのmysqlで。これは可能ですか。そうであれば、例または適切なリンクを提供してください...これを示しています..
前もって感謝します........
「データベースを表示」というクエリを防ぐにはどうすればよいですか。または「テーブルを表示します。」非ルートユーザーのmysqlで。これは可能ですか。そうであれば、例または適切なリンクを提供してください...これを示しています..
前もって感謝します........
root 以外のユーザーは、グローバル権限 (GRANT something ON *.* など) を持っている場合にのみ、すべてのデータベースを参照できます。したがって、解決策は常にすべてを ON databasename .* に付与し、決してグローバルに付与しないことです。
私はshow_db_priv
試してみます:
http://dev.mysql.com/doc/refman/5.1/en/grant-table-structure.html
しかし、これが機能しないという報告があります。次のバグ エントリを参照してください。
今すぐリンクを取得できませんが、これは根本的なパーミッションの問題であり、root ユーザーへのアクセスを制御します。
phpmyadmin などのツールで、ルート管理者を除くすべてのユーザーに対して、これら 2 つのデータベース (およびその他のデータベース) のアクセス許可を取り消したいとします。通常、1 つのデータベースに対して 1 人のユーザーを取得する共有サーバーを使用している場合は、ホストと通信する必要があります。
私の一般的なルール(dbサーバーに対する権限制御がある場合)は、特定のデータベースまたは(テーブルのサブセット)に対して新しいユーザーを作成し、常にそのユーザーをWebまたはdbと通信する他のアプリケーションからのみ使用することです。最初はより多くの設定が必要ですが、設定が完了すると、より多くの制御が可能になり、1 つのアプリケーションが別のアプリケーションに干渉できないことがわかります。
root アクセスは、アプリケーションの使用には許可されていません。これは、メンテナンスのみを目的としています。