According to MySQL Connector/Python :: 6 Connector/Python Connection Arguments in the official documentation:
To set a timeout value for connections, use
connection_timeout
.
Question
I am using mysql.connector
for Python. Below are my connection parameters. How can I set a timeout or increase the default timeout?
class Config(object):
"""Configure me so examples work
Use me like this:
mysql.connector.Connect(**Config.dbinfo())
"""
HOST = dbhost
DATABASE = dbdatabase
USER = dbusername
PASSWORD = dbpassword
PORT = 3306
CHARSET = 'utf8'
UNICODE = True
WARNINGS = True
@classmethod
def dbinfo(cls):
return {
'host': cls.HOST,
'port': cls.PORT,
'database': cls.DATABASE,
'user': cls.USER,
'password': cls.PASSWORD,
'charset': cls.CHARSET,
'use_unicode': cls.UNICODE,
'get_warnings': cls.WARNINGS,
}
Solution
According to MySQL Connector/Python :: 6 Connector/Python Connection Arguments in the official documentation:
To set a timeout value for connections, use
connection_timeout
.
OTHER TIPS
I found something here: http://dev.mysql.com/doc/refman/5.5/en/connector-python-connectargs.html I think you are looking for the parameter connection_timeout (connect_timeout*)
If you are using mysql.connector.connect
to connect with DB you can simply use connection_timeout
parameter to define a timeout externally make sure value given will be in seconds
instead of milliseconds.
conn = mysql.connector.connect(
pool_name=pool['name'],
pool_size=pool['size'],
host=config['host'],
port=config['port'],
user=config['user'],
passwd=config['passwd'],
db=config['db'],
charset=config['charset'],
use_unicode=True,
connection_timeout=10
)
This works for me:
conn = mysql.connector.connect(
pool_name=pool['name'],
pool_size=pool['size'],
host=config['host'],
port=config['port'],
user=config['user'],
passwd=config['passwd'],
db=config['db'],
charset=config['charset'],
use_unicode=True,
connect_timeout=1000
)
If you use MySQLdb:
conn = MySQLdb.connect(
host=config['host'],
port=config['port'],
user=config['user'],
passwd=config['passwd'],
db=config['db'],
charset=config['charset'],
use_unicode=True,
connect_timeout=1000
)