2013-04-05 13 views
6

私はrootにパスワードを持たないMySQLベースの "test"を持っています。私はそこにログインすることができますsqlalchemy:パスワードなしでMySQLに接続

mysql -uroot test # all fine 

私はsqlalchemyでアクセスしたいと思います。私はそれらのURLを試してください:

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

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

しかし、それらの両方がエラーで失敗:

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

私はパスワードなしでベースにアクセスする必要がありますどのように?

編集

私も試してみました:

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

をローカルダミーアカウントパスワードを使用して、それは問題なく動作します。

答えて

1

コマンドラインで持っているものと同等のSQLAlchemyのURLが

mysql://[email protected]/test 

MySQLはより別のユーザーであることを、標準的なUnixソケット経由で接続し、rootユーザー(コマンドラインクライアントで無-hを)consideresされます mysql://[email protected]/test?

特に:

+0

いいえ、アクセスはまだ拒否されました –

+0

私は実際にこれをmysqlでチェックしていませんが、これがpostgresql db(パスワードなしの 'psql dbname'が動作する場所)の問題を解決することが確認できます。 – user3113723

0

てみTCP経由で接続するのと同じユーザー名 engine = create_engine('mysql://[email protected]/test?')

関連する問題