我必須選擇所有具有數據庫特權的用戶(例如數據庫'mysql')。有什麼建議麼?謝謝。向用戶顯示對數據庫的任何權限。 MySQL
12
A
回答
7
看看mysql
數據庫(mysql服務器內部的一個名爲mysql
的實際數據庫,只是要清楚)。有三個表(db
,tables_priv
,並且columns_priv
),其中DB /表/列PRIVS存儲:
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'
應該表現出你所需要的。
24
所有用戶及其近似權限的好看法。如果有密碼,它將通過加密字符串;如果不是,則該字段爲空。選擇是一個非常普遍的專門知識;插入允許在數據庫中進行表操作;關機允許主要的系統更改,並且只能由root使用;授予權限的能力與其他權限是分開的。
SELECT user, host, password, select_priv, insert_priv, shutdown_priv, grant_priv
FROM mysql.user
查看各個數據庫的權限。
12
database privileges存儲在
mysql.db
table privileges存儲在
mysql.tables_priv
column privileges存儲在
mysql.columns_priv
routine privileges存儲在
mysql.proc_privs
可以定義一個存儲過程列出的權限:
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. 如何根據PHP中的用戶權限顯示選項? Mysql
- 3. 向用戶顯示數據庫簡歷
- 4. PostgreSQL數據庫的Apache用戶權限
- 5. mySQL顯示用戶數據庫
- 6. 如何測試用戶對數據庫的權限
- 7. 數據庫是不可見的MySQL用戶使用權限
- 8. 對選定的mysql數據庫的備份授權權限
- 9. MySQL用戶擁有數據庫的完全權限
- 10. 授予數據庫用戶權限
- 11. MySQL的授予對通配符數據庫名稱的權限來新用戶
- 12. 撤銷數據庫的mysql權限
- 13. MySQL數據庫的權限問題
- 14. MySQL用戶權限
- 15. 使用PHP訪問MySQL數據庫中的某些數據的用戶權限?
- 16. 我對數據庫有什麼權限
- 17. 授予所有用戶對一個Mysql數據庫的訪問權限
- 18. MySQL用戶創建數據庫需要什麼權限?
- 19. C#連接到MySQL - 獲取數據庫用戶權限?
- 20. 用戶權限與mysql數據庫和php
- 21. 授權用戶從MySQL數據庫
- 22. mysql:具有授權選項的數據庫特定用戶權限委託
- 23. Mysql:我如何向所有用戶授予對演示數據庫的選擇
- 24. 無法對MySQL用戶設置權限
- 25. 如何升級數據庫用戶權限以創建新數據庫?
- 26. 如何限制用戶修改mysql數據庫中的數據?
- 27. Webmin數據庫權限
- 28. 如何生成授予數據庫用戶的數據庫表的權限表?
- 29. JSF 2.0如何根據用戶權限顯示元素?
- 30. 檢查用戶顯示權限