tôi phải chọn tất cả người dùng có bất kỳ đặc quyền nào cho cơ sở dữ liệu (ví dụ: cơ sở dữ liệu 'mysql'). Bất kỳ đề xuất? Cảm ơn.Hiển thị cho người dùng bất kỳ đặc quyền nào đối với cơ sở dữ liệu. MySQL
Trả lời
Tìm trong cơ sở dữ liệu mysql
(một db thực tế có tên mysql
bên trong máy chủ mysql, chỉ để rõ ràng). Có ba bảng (db
, tables_priv
, và columns_priv
) nơi db/table/privs cột được lưu trữ:
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'
sẽ hiển thị cho bạn những gì bạn cần.
Chế độ xem tốt của tất cả người dùng và đặc quyền gần đúng của họ. Nếu có một mật khẩu, nó sẽ bằng một chuỗi được mã hóa; nếu không, trường này trống. Chọn là một giáo sư rất chung chung; chèn cho phép thao tác bảng trong cơ sở dữ liệu; tắt máy cho phép thay đổi hệ thống lớn và chỉ có thể sử dụng được bằng root; khả năng cấp quyền tách biệt với các quyền khác.
SELECT user, host, password, select_priv, insert_priv, shutdown_priv, grant_priv
FROM mysql.user
Xem các quyền đối với cơ sở dữ liệu riêng lẻ.
SELECT user, host, db, select_priv, insert_priv, grant_priv FROM mysql.db
database privileges được lưu trữ trong
mysql.db
table privileges được lưu trữ trong
mysql.tables_priv
column privileges được lưu trữ trong
mysql.columns_priv
routine privileges được lưu trữ trong 012.
Bạn có thể định nghĩa một thủ tục lưu trữ để liệt kê các đặc quyền:
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 ;
dụ:
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. CHỌN người dùng từ cơ sở dữ liệu MySQL bằng đặc quyền bitmask?
- 2. Lược đồ cơ sở dữ liệu MySQL cho người dùng và nhóm kiểm soát truy cập
- 3. Cơ sở dữ liệu người dùng đơn và cơ sở dữ liệu nhiều người dùng
- 4. Một cơ sở dữ liệu người dùng phục vụ nhiều cơ sở dữ liệu ứng dụng
- 5. quyền truy cập bị từ chối cho người dùng @ 'localhost' vào cơ sở dữ liệu ''
- 6. Postgres tạo cơ sở dữ liệu người dùng
- 7. Cách cho phép người dùng chỉ chọn quyền trên cơ sở dữ liệu
- 8. Thiết lập cơ sở dữ liệu MySQL với người dùng với Vagrant và chef-solo
- 9. Apache Shiro - sử dụng cơ sở dữ liệu để đọc người dùng, vai trò và quyền
- 10. Sử dụng mysqldump và người dùng cơ sở dữ liệu
- 11. Có bất kỳ hướng dẫn thiết kế nào cho Cơ sở dữ liệu tài liệu không?
- 12. neo4j - đồ thị cơ sở dữ liệu cùng với một cơ sở dữ liệu quan hệ?
- 13. Đặc quyền cơ sở dữ liệu tối thiểu để sử dụng tải dữ liệu infile
- 14. Facebook PHP SDK - Lưu trữ dữ liệu người dùng vào cơ sở dữ liệu MYSql
- 15. Cách tìm tên người dùng và mật khẩu cho cơ sở dữ liệu mysql
- 16. Lưu các ký tự đặc biệt vào cơ sở dữ liệu MySQL
- 17. Làm cách nào để hiển thị tất cả các đặc quyền từ người dùng trong oracle?
- 18. MySQL: Tạo người dùng chỉ có quyền đối với một số db
- 19. Cơ sở dữ liệu đồ thị nào
- 20. Cách tìm số cột của bất kỳ bảng nào trong bất kỳ cơ sở dữ liệu nào từ cơ sở dữ liệu chủ của máy chủ sql?
- 21. Phương pháp tiếp cận cơ sở dữ liệu người dùng CouchDB có khả thi cho người dùng có nhiều dữ liệu được chia sẻ không?
- 22. Làm thế nào để tạo một người dùng có đặc quyền chỉ đọc cho tất cả các cơ sở dữ liệu trong Postgresql?
- 23. Lấy các ký tự đặc biệt ra khỏi cơ sở dữ liệu MySQL bằng PHP
- 24. ứng dụng tự động tạo giao diện người dùng CRUD cho bảng cơ sở dữ liệu
- 25. Neo4j (hoặc bất kỳ cơ sở dữ liệu biểu đồ nào khác) mô hình
- 26. Cách xử lý cơ sở dữ liệu nhiều người dùng
- 27. Lỗi quyền người dùng khi truy cập cơ sở dữ liệu "cá thể người dùng" từ ASP.NET
- 28. Sao lưu cơ sở dữ liệu MySQL
- 29. Người dùng xác định TYPE trên cơ sở dữ liệu
- 30. jQuery kiểm tra cơ sở dữ liệu mysql nếu tên người dùng đã được chụp