2012-12-31 12 views
8

Nur mit mysql gestartet. Ich melde mich mit Wurzel und folgen Sie der Online-Referenz einen neuen Benutzer zu erstellen:mysql neuer Benutzerzugriff verweigert

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

dann ich verlassen und versuchte, mit dem neuen Benutzer anmelden:

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

aber bekam eine Fehlermeldung:

Zugang für Benutzer 'abc' verweigert @ 'localhost' (using password: YES)

Hab ich etwas verpasst?

+1

haben Sie Berechtigungen gelöscht? 'FLUSH PRIVILEGES;' –

+0

1) Fügen Sie FLUSH PRIVILEGES nach obigen 2 Anweisung und verwenden Sie 'localhost' oder 'IP-Adresse' anstelle von '%' diese Arbeit für mich. hoffe das hilft !! –

Antwort

17

Führen Sie dieses

FLUSH PRIVILEGES 

arbeiten Nachdem Sie die gewünschten Zugriffsrechte für Ihre Benutzer erhalten haben, müssen Sie Berechtigungen, um FLUSH um die Installation abzuschließen und die neuen Einstellungen arbeiten zu machen. Um dies zu tun, führen Sie diesen Befehl innerhalb der SQL-Eingabeaufforderung:

[EDIT]
Wenn Sie von localhost verbinden möchten auch, sollten Sie ein anderes Konto erstellen.

Es ist notwendig, dass beide Konten für 'Benutzer' in der Lage sind, von überall als 'Benutzer' zu verbinden. Ohne das Konto "localhost" würde das von " mysql_install_db" erstellte anonyme Benutzerkonto für "localhost" Vorrang haben, wenn "Benutzer" vom lokalen Host aus eine Verbindung herstellt. Als Ergebnis würde "Benutzer" als anonymer Benutzer behandelt werden. Der Grund dafür ist, dass das anonyme Benutzerkonto einen spezifischen Host-Spaltenwert als das 'Benutzer' @ '%' Konto hat und somit früher in der Sortierreihenfolge der Benutzertabelle kommt.

)

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

+1

Versucht dies nach Erteilung Privilegien, immer noch nicht funktioniert – Ryan

+0

hmm seltsam, sollte dies für die Schaffung von "Super User" -Privilegien funktionieren. Versuchen Sie, sich mit root-Benutzer einzuloggen, und sehen Sie, ob der Datensatz erstellt wurde oder nicht! – Venu

+0

Wählen Sie * vom Benutzer where user = 'abc' aus. Der Datensatz ist da und die Privilegien sind auf Y gesetzt. – Ryan

0

Das ist es.

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 @habe einen schönen Tag!

Verwandte Themen