2012-12-31 14 views
8

appena iniziato con mysql. Faccio il login con la radice e seguo il riferimento on-line per creare un nuovo utente:mysql nuovo utente l'accesso negato

mysql> CREATE USER 'abc'@'%' IDENTIFIED BY '111111'; 
mysql> GRANT ALL PRIVILEGES ON *.* TO 'abc'@'%' WITH GRANT OPTION; 

poi ho smesso e ho cercato di effettuare il login con il nuovo utente:

mysql --user=abc --password=111111 mysql 

ma ho ottenuto un messaggio di errore:

Accesso negato per l'utente 'abc' @ 'localhost' (usando la password: YES)

Ho perso qualcosa?

+1

hai svuotato i privilegi ?? "FLUSH PRIVILEGES;' –

+0

1) Aggiungi FLUSH PRIVILEGES dopo l'istruzione sopra 2 e usa "localhost" o "indirizzo IP" invece di "%" questi funzionano per me. spero che questo possa aiutare !! –

risposta

17

Esegui questo lavoro

FLUSH PRIVILEGES 

Una volta che hai dato i privilegi desiderati per l'utente, è necessario per irrigare i privilegi al fine di completare l'installazione e per rendere le nuove impostazioni di lavoro. Per fare ciò, eseguire questo comando nel prompt dei comandi SQL:

[EDIT]
Se si desidera connettersi da localhost anche, si dovrebbe creare un altro account.

E 'necessario avere entrambi gli account per 'utente' per essere in grado di connettersi da qualsiasi luogo come 'utente'. Senza l'account localhost, l'account anonimo -utente per localhost che è stato creato da mysql_install_db avrebbe la precedenza quando 'utente' si connette dall'host locale . Di conseguenza, "utente" deve essere trattato come utente anonimo. La ragione di questo è che l'account anonimo utente ha una più specifica Host valore di colonna del 'user' @ conto '%' e quindi viene precedenza nell'ordine tabella utente tipo.)

FYI: http://dev.mysql.com/doc/refman/5.5/en/adding-users.html

+1

provato questo dopo privilegi di sovvenzione, ancora non funziona – Ryan

+0

hmm strano, questo dovrebbe funzionare per la creazione di privilegi "Super User". prova ad accedere con l'utente root e vedere che il record è stato creato o no! – Venu

+0

Esegui seleziona * dall'utente dove utente = 'abc'. Il record è lì e privilegi sono impostati su Y. – Ryan

0

This is it.

grant all privileges on *.* to `root`@`%` identified by 'chnagethepasswordhere'; 
flush privileges; 
--helps to excute store procedure as root user 

GRANT EXECUTE ON PROCEDURE mbu4u.ratingProcedure TO 'root'@'ip.ip.ip.ip' identified by 'changepasswordheere'; 

GRANT ALL ON mbu4u.* TO [email protected]'ip.ip.ip.ip' IDENTIFIED BY 'changepassword'; 

dantheman @ buona giornata!

Problemi correlati