2013-04-05 8 views
6

Ich habe MySQL-Basis "test" ohne Passwort auf root. Ich kann in log dortsqlalchemy: Verbindung zu MySQL ohne Passwort

mysql -uroot test # all fine 

Ich möchte es für den Zugriff mit sqlalchemy. Ich versuche, mit diesem URLs:

mysql+mysqldb://[email protected]/test 

mysql+mysqldb://root:@localhost/test 

Aber beide mit Fehlern fehl:

sqlalchemy.exc.OperationalError: (OperationalError) 
    (1045, "Access denied for user 
    'root'@'localhost' (using password: NO)") None None 

Wie soll ich auf die Basis ohne Passwort?

bearbeiten

Ich habe auch versucht:

mysql://[email protected]/test 
mysql+mysqldb://[email protected]/test 

Mit einem lokalen Dummy Konto mit Passwort, es ohne Probleme funktioniert.

Antwort

1

die äquivalent sqlalchemy URL zu dem, was man in der Befehlszeile hat, ist

mysql://[email protected]/test 

MySQL den Root-Benutzer einer Verbindung über den Standard-UNIX-Socket (keine -h in der Befehlszeile Client) consideres ein anderer Benutzer zu sein, als die gleichen Benutzernamen via tCP Verbindungs ​​

+0

Nein, Zugriff immer noch verweigert –

+0

Ich habe dies nicht mit mysql überprüft, aber ich kann bestätigen, dass dies das Problem mit einer postgresql db behebt (wo passwortloser 'psql dbname' funktioniert) – user3113723