gpt4 book ai didi

python - 传递给 mysql AWS RDS 的 sqlalchemy create_engine() 的正确连接字符串

转载 作者:行者123 更新时间:2023-11-29 02:45:58 25 4
gpt4 key购买 nike

我不知道(也找不到示例)要传递给 sqlalchemy 的连接字符串的 create_engine()这让我可以连接到 mysql数据库 Amazon Web Service RDS .文档很简单,但我被绊倒了。文档状态:

mysql+mysqldb://<user>:<password>@<host>[:<port>]/<dbname>

假设:

  • 我的用户是:hellothere
  • 密码是:Comp<'/"/>{}]:["licated
  • 主持人是:sandbox.cbaspyqqzfab.us-west-2.rds.amazonaws.com
  • 端口是:3306
  • 数据库名称是:nameofdatabase

这是怎么回事?

    conn_str = 'mysql+mysqldb://<hellothere>:<Comp<'/"/>{}]:["licated>@<sandbox.cbaspyqqzfab.us-west-2.rds.amazonaws.com>[:<3306>]/<nameofdatabase>'
engine = sqlalchemy.create_engine(conn_str, echo=True)

错误信息

Traceback (most recent call last): File
"C:/GitHub/blah/data/__init__.py", line 16, in <module> main() File
"C:/GitHub/blah/data/__init__.py", line 12, in main init_db() File
"C:/GitHub/blah/data/__init__.py", line 8, in init_db
DbSessionFactory.global_init(db_file=dbfilepath) File
"C:\GitHub\blah\data\dbsession.py", line 25, in global_init engine =
sqlalchemy.create_engine(conn_str, echo=True) File
"C:\Python\Anaconda3\envs\CE\lib\site-packages\sqlalchemy\engine\__init__.py",
line 387, in create_engine return strategy.create(*args, **kwargs)
File
"C:\Python\Anaconda3\envs\CE\lib\site-packages\sqlalchemy\engine\strategies.py",
line 80, in create dbapi = dialect_cls.dbapi(**dbapi_args) File
"C:\Python\Anaconda3\envs\CE\lib\site-packages\sqlalchemy\dialects\mysql\mysqldb.py",
line 110, in dbapi return __import__('MySQLdb') ModuleNotFoundError:
No module named 'MySQLdb'

如果我指定一个本地文件并使用 sqlite 它工作正常所以我认为其余代码没问题。

    conn_str = 'sqlite:///' + 'dbfile.sqlite'

我已经尝试了很多不同的方法,有和没有 <> ,但我得到了同样的错误。我不知道我是否需要对密码中的特殊字符进行转义,或者问题是否更根本并且我未正确连接到 RDS。我使用 RMySQL 连接在 R 中打包并且它有效,所以我认为我的问题与网络或防火墙无关。我在网上看到的所有示例都用上面的文档代替了连接字符串,因为(显然)他们不想公开他们的凭据,所以我很难找到可以模仿的东西。有什么想法吗?

最佳答案

安装 mysql-connector 后有效
pip 安装 mysql-connector

关于python - 传递给 mysql AWS RDS 的 sqlalchemy create_engine() 的正确连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42146900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com