2016-09-07 7 views
1

Ich habe alle Privilegien Benutzernamen gewährt:Zugriff verweigert auf MySQL-Datenbank

GRANT ALL PRIVILEGES ON my_db . * TO 'website_user'@'xx.xx.xx.xx' IDENTIFIED BY 'password' 

Versuch Datenbank zuzugreifen, die in yy.yy.yy.yy von xx.xx.xx.xx ist:

mysqldump -P 3306 -u website_user -ppassword -h yy.yy.yy.yy my_db > test.sql 

aber immer noch unter Fehler bekommen:

mysqldump: Got error: 1045: Access denied for user 'website_user'@'xx.xx.xx.xx' (using password: YES) when trying to connect

Ich habe auch eine Firewall überprüft. Nichts verhindert das Ausführen dieser Abfrage. Was mache ich falsch?

+0

'Flush-Privilegien'? –

+0

Ich habe 'mysql' neu gestartet. Und auch versucht 'Flush Privilegien ' –

+0

stellen Sie sicher, dass das Passwort keine Shell-Meta-Zeichen, wie ein' $ ', z. '-pfoo $ bar' ist ein Passwort' foo $ bar'. Es ist das Passwort 'foo' gefolgt von einer undefinierten Shell var' $ bar'. –

Antwort

0

Haben Sie auch die folgende Abfrage ausführen:

FLUSH PRIVILEGES 

die erforderlich ist, die neuen Berechtigungen zu machen wirksam werden.

+0

Es stimmt, dass Änderungen an den mysql-Privilegientabellen, die mit DML-Operationen (INSERT, UPDATE, DELETE) angewendet werden, nicht ausgeführt werden Wirkung, bis eine FLUSH PRIVILEGES (verursacht MySQL neu lesen Sie die Privilegien Tabellen.) Aber mit der (neueren) GRANT, REVOKE. et al. Die Änderungen werden automatisch wirksam, ohne dass eine separate FLUSH PRIVILEGES-Anweisung erforderlich ist. – spencer7593

+0

@ spencer7593 Oh, ich wusste das nicht, thx. – MarcHoH