2008-09-24 11 views

Respuesta

26
mysql> show grants for 'user'@'host' 
1

Si ya está ejecutando un servidor web con PHP entonces phpMyAdmin es una herramienta administrativa bastante amable.

+0

ajá! Cuando se instala phpMyAdmin, ¡eso hace que las subvenciones sean mucho más fáciles! Un gran consejo :-) – Bromide

5

Es posible que desee consultar mk-show-grants de Maatkit, que generará el conjunto actual de concesiones para todos los usuarios en forma canónica, haciendo que el control de versiones o la replicación sea más sencillo.

34

Un método alternativo para las versiones recientes de MySQL es:

select * from information_schema.user_privileges where grantee like "'user'%"; 

La posible ventaja de este formato es el aumento de la flexibilidad para comprobar "del usuario" subvenciones de cualquier host (suponiendo que los nombres de usuario consistente) o para comprobar privilegios específicos con condiciones adicionales (por ej., privilege_type = 'delete').

Esta versión es probablemente más adecuada para su uso dentro de un script, mientras que la sintaxis "show grants" es mejor para sesiones interactivas (más "legible por humanos").

+0

+1: Esto también permite consultar las tablas y los privilegios particulares, lo cual es útil en algunos casos (en lugar de solo una descripción textual tal como la muestra SHOW GRANTS). –

+0

Esto también es muy útil para depurar concesiones creadas incorrectamente. Puede ser difícil obtener lo que necesita de SHOW GRANTS si se otorga para el usuario o host equivocado; –

+4

No se olvide de las otras tablas relacionadas con subvenciones SCHEMA_PRIVILEGES, TABLE_PRIVILEGES e incluso COLUMN_PRIVILEGES – KCD

6

Usted podría intentar esto:

SELECT GRANTEE, PRIVILEGE_TYPE FROM information_schema.user_privileges; 
SELECT User,Host,Db FROM mysql.db; 
Cuestiones relacionadas