Python的MySQL连接器

Python的MySQL连接器,python,mysql,mysql-connector-python,Python,Mysql,Mysql Connector Python,我正在使用mysql.connector for Python。下面是我的连接参数。如何设置超时或增加默认超时 class Config(object): """Configure me so examples work Use me like this: mysql.connector.Connect(**Config.dbinfo()) """ HOST = dbhost DATABASE = dbdatabase USE

我正在使用mysql.connector for Python。下面是我的连接参数。如何设置超时或增加默认超时

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,
            }
根据官方文件:

要设置连接的超时值,请使用连接超时

根据官方文件:

要设置连接的超时值,请使用连接超时

我在这里发现了一些东西: 我认为您正在寻找参数 连接超时连接超时*

我在这里找到了一些东西: 我认为您正在寻找参数 连接超时连接超时*

这对我很有用:

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
)
如果您使用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
)
这对我很有用:

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
)
如果您使用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
)
如果您使用mysql.connector.connect与DB连接,您只需使用connection\u timeout参数定义外部超时,确保给定的值以秒为单位,而不是以毫秒为单位

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
)
如果您使用mysql.connector.connect与DB连接,您只需使用connection\u timeout参数定义外部超时,确保给定的值以秒为单位,而不是以毫秒为单位

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
)

Python文档没有指定。指定秒数,所以我猜是相同的,但我会测量自己来确定。Python文档没有指定秒数。时间指定秒数,所以我猜是一样的,但我会测量自己来确定。