Ciao Ragazzi ma come posso fare per dare a piu utenti di poter accedere al pannello phpmyadim senza essere root?
cioe io gli creo un database e loro posso solo accedere solamente al loro database e poter fare tutte le operazioni: edit delete ecc ecc.
si puo fare?
se si in che modo?
Phpmyadmin multi utente
Re: Phpmyadmin multi utente
Vado a memoria e intuito perchè non ho phpmyadmin qui davanti nè ho mai avuto necessità di fare altri utenti.
Quando entri in phpmyadmin, senza selezionare nessun DB, dovresti vedere la voce Privilegi.
Clicca li e all'interno della nuova pagina dovresti trovare "crea nuovo utente"
Quando entri in phpmyadmin, senza selezionare nessun DB, dovresti vedere la voce Privilegi.
Clicca li e all'interno della nuova pagina dovresti trovare "crea nuovo utente"
Mess with the best
die like the rest
FreePlayClub.org
die like the rest
FreePlayClub.org
Re: Phpmyadmin multi utente
troppo facile... quell'utente creato li ha solo la possibilità di gestire un db.
Re: Phpmyadmin multi utente
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"
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:
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)
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:
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:
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!
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
Codice: Seleziona tutto
mysql -uroot -p
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;
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;
(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;
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!
Mess with the best
die like the rest
FreePlayClub.org
die like the rest
FreePlayClub.org
Re: Phpmyadmin multi utente
Scusate se mi intrometto ma vorrei chiedere una cosa che non capisco: Arianna, quando dici di inserire testo da console, avendo a che fare con un NAS intendi dire dopo aver stabilito una connessione ssh da un normale pc collegato in rete?
Perchè in questo modo a me non riconosce nemmeno i comandi mysql
Perchè in questo modo a me non riconosce nemmeno i comandi mysql
Re: Phpmyadmin multi utente
scusa il ritardo... è un po' che non vengo da queste parti
intendo proprio quello.
Sa SSH con il comando mysql -uroot -p
una volta inserita la password sei loggato come utente su mysql e poi eseguire il resto dei comandi
intendo proprio quello.
Sa SSH con il comando mysql -uroot -p
una volta inserita la password sei loggato come utente su mysql e poi eseguire il resto dei comandi
Mess with the best
die like the rest
FreePlayClub.org
die like the rest
FreePlayClub.org