Come si visualizzano le concessioni (diritti di accesso) per un determinato utente in MySQL?Visualizza le assegnazioni in MySQL
risposta
mysql> show grants for 'user'@'host'
Se sei già in esecuzione un server web con PHP poi phpMyAdmin è uno strumento amministrativo abbastanza cordiale.
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.
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").
+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). –
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; –
Non dimenticare le altre tabelle relative alle borse SCHEMA_PRIVILEGES, TABLE_PRIVILEGES e anche COLUMN_PRIVILEGES – KCD
Si potrebbe provare questo:
SELECT GRANTEE, PRIVILEGE_TYPE FROM information_schema.user_privileges;
SELECT User,Host,Db FROM mysql.db;
ah-ah! PhpMyAdmin è installato, il che rende le sovvenzioni molto più semplici! Ottimo suggerimento :-) – Bromide