我正在尝试通过SQLAlchemy将python Web应用程序连接到本地数据库。
我已配置以下连接字符串:
sqlalchemy.url = mysql+mysqlconnector://root:root@localhost:3306/db_mother
当我使用上述内容时,我得到以下错误(经过长堆栈跟踪):
sqlalchemy.exc.ProgrammingError :( ProgrammingError)1045(28000):拒绝访问用户'root'@'localhost'(使用密码:否)无无
当我将连接字符串更改为:
sqlalchemy.url = mysql+mysqlconnector://ripley:amanda@localhost:3306/db_mother
我收到预期的错误,因为该用户未在db中配置该密码:
sqlalchemy.exc.ProgrammingError: (ProgrammingError) 1045 (28000): Access denied for user 'ripley'@'localhost' (using password: YES) None None
所以,在第一种情况下,我有一个有效的数据库用户和密码(我可以用来通过命令行或SequelPro连接),它说我没有使用密码。在第二种情况下,它似乎理解有密码。为什么它首先没有这种理解?
我正在使用python3
,sqlalchemy
,mysql-connector-python
和pyramid
。还要注意的是,如果我从root用户剥离密码,它可以正常工作。