【发布时间】:2015-10-06 18:07:36
【问题描述】:
我尝试实现 mysql 池,但有一个问题: 我正在从一个环境变量解析 mysql 连接凭据,该变量基本上是一个字典,其中包含多个数据库凭据。
dict={'db1': {'username':**** ,'password':**** ,'database':*****,'host':****,'uri': mysql url with username ,password,database},
'db2': {'username': ****, 'hostname': *****,host: ******, 'password': ***,'uri': mysql url with username ,password,database}}
global conn
conn={}
def connect():
cred=json.loads(os.environ['dict'])
for db in cred:
multiple_databases=cred[db]['uri']
url=urlparse.urlparse(multile_databases)
conn[db]={'user':'url.username','password':'url.password','host':'url.hostname','database':'url.path[1:]'}
cnx = mysql.connector.connect(pool_name = "mypool",
pool_size = 3,
**conn[db])
connect()
这里的问题是只有一个连接被打开,它是针对数据库“db2”的。
当我在不实现池的情况下执行相同的代码时,两个连接都可以正常工作/打开。
for db in cred:
multiple_databases=cred[db]['uri']
url=urlparse.urlparse(multile_databases)
conn[db]=mysql.connector.connect(user=url.username,password=url.password,host=url.hostname,database=url.path[1:])
问题:在实现池化时,为什么两个连接都没有打开?
【问题讨论】:
标签: python mysql connection-pooling mysql-python mysql-connector