2013-04-05 3 views
6

Ho MySQL di base "test" senza password su root. Posso entrare in làsqlalchemy: connettersi a MySQL senza password

mysql -uroot test # all fine 

voglio accedere con sqlalchemy. Provo con tali URL:

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

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

Ma entrambi con errore:

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

Come devo accedere alla base senza una password?

Modifica

ho cercato anche:

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

Con un account fittizio locale con la password, funziona senza problemi.

risposta

1

lo sqlalchemy URL equivalente a quello che si ha sulla riga di comando è

mysql://[email protected]/test 

MySQL consideres l'utente root che collega sopra la presa standard UNIX (senza -h nel client a riga di comando) per essere un utente diverso da quello lo stesso nome utente collega via tcp

+0

No, accesso ancora negato –

+0

Non ho effettivamente controllato questo con mysql, ma posso confermare che questo risolve il problema con un db postgresql (dove funziona 'senza password 'psql dbname') – user3113723