Python 使用MySQL.connector.connect连接到MySQL数据库失败,无法捕获错误
我正在使用python尝试连接到DB。这段代码起作用了,并且我的环境中的某些内容发生了更改,因此中的主机不存在/不可访问。这是意料之中的。我试图解决的问题是,我似乎无法捕捉到发生这种情况的错误。这是我的代码: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_
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的端口