我有MySQL基础“测试”,根目录没有密码。我可以登录
mysql -uroot test # all fine
我想用sqlalchemy
访问它。我尝试使用这些网址:
mysql+mysqldb://root@localhost/test
mysql+mysqldb://root:@localhost/test
但他们都失败了,错误:
sqlalchemy.exc.OperationalError: (OperationalError)
(1045, "Access denied for user
'root'@'localhost' (using password: NO)") None None
如何在没有密码的情况下访问基地?
修改
我也试过了:
mysql://root@/test
mysql+mysqldb://root@/test
使用带有密码的本地虚拟帐户,它可以正常运行。
答案 0 :(得分:1)
与命令行上的等效sqlalchemy url是
mysql://root@/test
MySQL考虑通过标准unix套接字连接的root用户(命令行客户端中没有-h
)与通过tcp连接的用户名不同的用户
答案 1 :(得分:1)
尝试:
mysql://root@localhost/test?
具体为:
engine = create_engine('mysql://root@localhost/test?')