如何使用sqlalchemy的mysql默认文件(my.cnf)?

Chr*_*ine 2 python mysql sqlalchemy

我想让sqlalchemy获取它所连接的mysql数据库的主机名,用户名和密码.

文档说明mysql模式是这样指定的:

mysql_db = create_engine('mysql:// scott:tiger @ localhost/foo')

是否可以改为输入一个mysql默认文件,如/etc/my.cnf,并从那里获取登录详细信息?我想避免在我的代码中嵌入用户名/密码.

Mar*_*eth 6

以下是在Tomlal发布的sqlalchemy邮件列表中找到的结果:

http://www.mail-archive.com/sqlalchemy@googlegroups.com/msg11241.html

from sqlalchemy.engine.url import URL

myDB = URL(drivername='mysql', host='localhost',
    database='my_database_name',
    query={ 'read_default_file' : '/path/to/.my.cnf' }
)
engine = create_engine(name_or_url=myDB)
# use the engine as usual, no password needed in your code file :)
Run Code Online (Sandbox Code Playgroud)