Python 使用MySQL.connector.connect连接到MySQL数据库失败,无法捕获错误

Python 使用MySQL.connector.connect连接到MySQL数据库失败,无法捕获错误,python,mysql,Python,Mysql,我正在使用python尝试连接到DB。这段代码起作用了,并且我的环境中的某些内容发生了更改,因此中的主机不存在/不可访问。这是意料之中的。我试图解决的问题是,我似乎无法捕捉到发生这种情况的错误。这是我的代码: def create_db_connection(self): try: message('try...') DB_HOST = os.environ['DB_HOST'] DB_USERNAME = os.environ['DB_

我正在使用python尝试连接到DB。这段代码起作用了,并且我的环境中的某些内容发生了更改,因此中的主机不存在/不可访问。这是意料之中的。我试图解决的问题是,我似乎无法捕捉到发生这种情况的错误。这是我的代码:

def create_db_connection(self):
    try:
        message('try...')

        DB_HOST = os.environ['DB_HOST']
        DB_USERNAME = os.environ['DB_USERNAME']
        DB_PASSWORD = os.environ['DB_PASSWORD']

        message('connecting...')

        db = mysql.connector.connect(
            host=DB_HOST,
            user=DB_USERNAME,
            password=DB_PASSWORD,
            auth_plugin='mysql_native_password'
        )

        message('connected...')

        return db
    except mysql.connector.Error as err:
        log.info('bad stuff happened...')
        log.info("Something went wrong: {}".format(err))
        message('exception connecting...')
    except Exception as ex:
        log.info('something bad happened')
        message("Exception: {}".format(ex))

    message('returning false connection...')
    return False
我看到了消息('connecting…')呼叫,但之后什么也没有看到。此外,除了消息/日志之外,我根本看不到任何其他内容

我是否还需要捕获/检查其他内容,以便知道DB连接尝试失败


这是在AWS Lambda内部运行的,在我更改某些子网/等之前一直有效。关键是我希望捕获它不再能够连接。

问题很可能是,在数据库连接超时之前,Lambda函数超时

首先,修改lambda函数以执行60秒并进行测试。您应该会发现,大约30秒后,您将看到与数据库的连接超时


要解决此问题,请修改数据库实例上的安全组,以包括为lambda配置的安全组。使用此项打开正确端口3306的端口。问题很可能是lambda函数在数据库连接超时之前超时

首先,修改lambda函数以执行60秒并进行测试。您应该会发现,大约30秒后,您将看到与数据库的连接超时

要解决此问题,请修改数据库实例上的安全组,以包括为lambda配置的安全组。使用此条目打开正确端口3306的端口