2008-09-24 12 views

risposta

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

Se sei già in esecuzione un server web con PHP poi phpMyAdmin è uno strumento amministrativo abbastanza cordiale.

+0

ah-ah! PhpMyAdmin è installato, il che rende le sovvenzioni molto più semplici! Ottimo suggerimento :-) – Bromide

5

Si potrebbe voler controllare mk-show-sovvenzioni dal Maatkit, che sarà in uscita l'attuale serie di borse di studio per tutti gli utenti in una forma canonica, rendendo il controllo di versione o la replica più semplice.

34

Un metodo alternativo per le versioni recenti di MySQL è:

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

Il possibile vantaggio con questo formato è la maggiore flessibilità per controllare "l'utente" sovvenzioni da qualsiasi host (supponendo che i nomi utente coerenti), o per verificare la presenza di privilegi specifici con condizioni aggiuntive (ad esempio, privilege_type = 'delete').

Questa versione è probabilmente più adatta per l'uso all'interno di uno script mentre la sintassi "show grant" è migliore per le sessioni interattive (più "leggibili").

+0

+1: questo permette di controllare anche tabelle e privilegi particolari, il che è utile in alcuni casi (piuttosto che una semplice descrizione testuale restituita da SHOW GRANTS). –

+0

Questo è anche molto utile per il debug di sovvenzioni create in modo improprio. Può essere difficile ottenere ciò di cui hai bisogno da SHOW GRANTS se sei concesso per l'utente o l'host sbagliato; –

+4

Non dimenticare le altre tabelle relative alle borse SCHEMA_PRIVILEGES, TABLE_PRIVILEGES e anche COLUMN_PRIVILEGES – KCD

6

Si potrebbe provare questo:

SELECT GRANTEE, PRIVILEGE_TYPE FROM information_schema.user_privileges; 
SELECT User,Host,Db FROM mysql.db; 
Problemi correlati