私はデータベース(例えばデータベース 'mysql')への特権を持つすべてのユーザーを選択する必要があります。助言がありますか?ありがとう。データベースへの特権を持つユーザーを表示します。 MySQL
12
A
答えて
7
mysql
データベース(実際にはmysqlサーバ内のmysql
という名前の実際のデータベース)を参照してください。
SELECT 'db', User, Host
FROM db
WHERE Db='mydatabase'
UNION
SELECT 'table', User, Host
FROM tables_priv
WHERE Db='mydatabase'
UNION
SELECT 'col', User, Host
FROM columns_priv
WHERE Db='mydatabase'
あなたが必要なものが表示されるはずです:DB /テーブル/列PRIVSが格納されている3つのテーブル(db
、tables_priv
、およびcolumns_priv
)があります。
24
すべてのユーザーとそのおおよその特権が良好です。パスワードがあれば、それは暗号化された文字列になります。そうでない場合、このフィールドは空白です。選択は非常に一般的な特権です。 insertは、データベース内のテーブル操作を可能にします。シャットダウンは大きなシステム変更を可能にし、rootだけが使用できるようにする必要があります。権限を与える権限は他の権限とは別です。
SELECT user, host, password, select_priv, insert_priv, shutdown_priv, grant_priv
FROM mysql.user
個々のデータベースの権限を表示します。
12
database privilegesが
mysql.columns_priv
routine privilegesに格納されている
mysql.tables_priv
column privilegesに格納されている
mysql.db
table privilegesに格納されているがに格納されています
delimiter // CREATE PROCEDURE list_privileges (IN db_name CHAR(50)) BEGIN SELECT concat(Db,'.', '*') as 'what', User, Host, '...' as 'perms' FROM mysql.db WHERE Db=db_name UNION SELECT concat(Db,'.', Table_name), User, Host, table_priv FROM mysql.tables_priv WHERE Db=db_name and table_priv != '' UNION SELECT concat(Db,'.', Table_name, '(', Column_name,')'), User, Host, Column_priv FROM mysql.columns_priv WHERE Db=db_name UNION SELECT concat(Db,'.', Routine_name, '()'), User, Host, Proc_priv FROM mysql.procs_priv WHERE Db=db_name; END// delimiter ;
例:
mysql> call list_privileges("testlink2"); +-----------------------------+-----------+-----------+---------+ | what | User | Host | perms | +-----------------------------+-----------+-----------+---------+ | testlink2.* | testlink2 | % | ... | | testlink2.* | testlink2 | localhost | ... | | testlink2.executions | testlink2 | % | Select | | testlink2.users(id) | testlink2 | % | Select | | testlink2.list_privileges() | testlink2 | % | Execute | +-----------------------------+-----------+-----------+---------+ 5 rows in set (0.00 sec) Query OK, 0 rows affected (0.00 sec)
あなたは特権を一覧表示する店舗の手順を定義することができます
関連する問題
- 1. データベース設計:特定のページへのアクセスを持つユーザー
- 2. 特権を持つrails_admin
- 3. JIRAプロジェクトは、表示権限を持たないユーザーに表示されます
- 4. 別のボックスにPHPサーバを持つMySQL認証と特権
- 5. mysqlデータベースとPHPでのユーザ特権
- 6. 特権を持つMSIアンインストーラを実行しています
- 7. MySQLデータベースのユーザー情報を表示するプロフィールページ
- 8. 制限付き特権を持つMySQLユーザを作成するには?
- 9. MySql:特定のユーザーから特定のテーブルを非表示にする
- 10. MySQLデータベースから特権を削除する
- 11. mysqlデータベースにスーパー特権を追加する方法は?
- 12. Elasticsearch Shield Plugin - 管理者特権を持つユーザーでも、ユーザーを認証できません
- 13. 非特権ユーザーとしてpythonデーモンを実行し、グループメンバシップを維持する
- 14. MySQLデータベースのコンテンツをidで表示するのに役立つ
- 15. information_schemaのmySQLユーザー権限
- 16. MySQLデータベースのデータを表示するヘルプ
- 17. 特定の属性を持つプロパティを表示するテンプレート?
- 18. 特定のコンテンツを持つ要素を表示する(jquery)
- 19. php/mysqlのプロセスでユーザーと管理者特権の問題
- 20. ユーザーの特定のデータを表示
- 21. mysqlの特定のテーブルを含むデータベースの名前を表示するクエリ?
- 22. アドオンモデルを持つdjangoユーザーに権限を追加する
- 23. MySQL:root権限を持つユーザーを作成する
- 24. SaveFileDialog特定の拡張子を持つファイルのみを表示
- 25. Entity Referenceを持つ関連ノードの特定のフィールドを表示
- 26. iAds for iPhoneを表示するためのユーザー権限
- 27. C#での表示名を持つスタックオーバーフローユーザーのユーザーIDの検索?
- 28. 特定のセル値を持つ行を非表示DataGridView C#
- 29. JIRA 3.13特定の列を持つダッシュボードチケットを表示
- 30. 表示MySQLデータベース配列