首页 > 解决方案 > 如果@ in password 无法连接到Mysql

问题描述

我在 python3.8 中使用 PyMySQL==1.0.2 和 SQLAlchemy==1.4.20 连接到较新版本的 mysql 时遇到问题。原因是 pymysql 将@符号读取为主机的更改表单密码:

schema_conn = sqlalchemy.create_engine(
    "mysql+pymysql://{user}:{password}@{host}/{db}"
    .format(host=config['host'], db=config['db'], user=config['user'],
    password=config['password']))

因此,如果我的密码是:bob@123,那么 pymysql 会将其读取为密码 = bob 和主机 = 123,而不是 bob@123 所以我的问题是如何正确地将 @ 替换为文本替换,以便正确读取。我尝试了 @ 的 url 版本,它是 %40 ,但是没有用。谢谢。

标签: pythonmysqlsqlalchemypymysql

解决方案


推荐阅读