allora c'è un altro metodo.. un po' più noioso...
Magari quando e se trovo sto tempo che non ho mai, sviluppo un'utility in php per farlo in maniera automatica compilando semplicemente un form a video e poi lo pubblico qui per chi dovesse volerlo
Comunque al momento allora, anzichè cercare un comando apposito su phpmyadmin, che a quanto pare allora non c'è, ti do i comandi sql.
Puoi eseguirli da console accendendo con
e poi ti chiede la password
oppure da phpmyadmin inserendo il codice da "SQL"
Codice: Seleziona tutto
GRANT ALL PRIVILEGES ON <nome_db>.* TO ‘<nome_utente>’@'localhost’ IDENTIFIED BY ‘<pass_utente>’ WITH GRANT OPTION;
ovviamente sostitusci le parti tra i segni di minore e maggiore con il nome del db (se non esiste già crealo prima), nome utente e pass utente.
Questo comando da a quell'utente i privilegi assoluti sul db specificato da LOCALHOST.
Se l'utente deve accedere con quelle credenziali da remoto allora va sostituito localhost con il simbolo %, quindi:
Codice: Seleziona tutto
GRANT ALL PRIVILEGES ON <nome_db>.* TO ‘<nome_utente>’@'%’ IDENTIFIED BY ‘<pass_utente>’ WITH GRANT OPTION;
Se invece vuoi creare un utente che abbia i privilegi su TUTTI i DB allora al posto del nome del db, metti *
(ovviamente anche qui specificando localhost oppure % a seconda che possa accedere solo in locale o anche da remoto)
Codice: Seleziona tutto
GRANT ALL PRIVILEGES ON *.* TO ‘<nome_utente>’@'localhost’ IDENTIFIED BY ‘<pass_utente>’ WITH GRANT OPTION;
Con questi comandi dai TUTTI i privilegi a quell'utente sul db, se invece vuoi dargli solo determinati privilegi, anzichè ALL PRIVILEGES, dovrai specificarli in elenco, e sarebbero:
ALTER, CREATE, DELETE, DROP, INDEX, INSERT, LOCK TABLES, PROCESS, RELOAD, SELECT, SHOW DATABASES, UPDATE, GRANT OPTION
per esempio:
Codice: Seleziona tutto
GRANT SELECT, INSERT, UPDATE ON test.* TO <nome_utente>@localhost
Ovviamente il tutto vale anche per la rimozione dei permessi, ma con il comando REVOKE, sia per determinate azioni che per tutto, per esempio, nell'ordine:
Codice: Seleziona tutto
REVOKE INSERT, UPDATE ON test.* FROM <nome_utente>@localhost
Codice: Seleziona tutto
REVOKE ALL ON platform.* FROM <nome_utente>@localhost;
Per essere specifici, potresti dare i permessi ad un utente anche solo su determinate tabelle di un db e non su tutto il db (idem per revocare i permessi).
In questo caso la sintassi dopo l'ON prevede il nomeDB.nomeTabella.
Insomma:
per i permessi su TUTTI i db: *.*
per i permessi su un db: <nome_db>.*
su una tabella: <nome_db>. <nome_tabella>
Se non sono stata chiara fammi sapere e provo a spiegarmi meglio!