2009-11-02 28 views
11

Avrei bisogno di creare utente MySQL programmaticamente con i privilegi solo per db specifico. Supponiamo che ci siano database a, b, c e che avrei bisogno di creare utenti con diritti solo per B. Sono sicuro che sia possibile ma il mio google non ha avuto successo. Grazie!MySQL: creare un utente con diritti solo per specifici db

risposta

18
grant all 
    on B.* 
to 
    'user'@localhost 
identified by 
    'password' 

L''utente' utente con password 'password' ora ha accesso a tutte le tabelle nel database 'B'. (Naturalmente è necessario per eseguire la query con un utente alto priv)

+0

si potrebbe anche cambiare "ALL" per un insieme più ragionevole di privilegi se sta per essere usato da un'applicazione. La maggior parte delle app web non ha bisogno di creare, modificare, eliminare tabelle. – MarkR

+1

'concedi tutto su B. * a 'utente' @ localhost identificato da 'password';' copia e incolla più velocemente;) – Ricain

16

si può provare questo

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'some_pass'; 
grant all privileges on B.* to 'myuser'@'localhost' identified by 'some_pass'; 
+6

Solo concedendo i privilegi a un utente se non esiste viene creato. – MTVS

Problemi correlati