【发布时间】:2023-01-18 03:42:23
【问题描述】:
我正在尝试连接到 mysql 数据库。如果服务器没有响应,我的应用程序就会崩溃。我正在使用 try, except 但看起来有两个异常正在引发并且“try: except”无法处理它。有人能弄清楚问题出在哪里吗?以下是我的代码:-
def check_server(server_address):
con = mysql.connector.connect(host='{}'.format(server_address),
database='domicile_reports',
user='xyz',
password='xyz')
try:
if con.is_connected():
print('{} Connected'.format(server_address))
con.close()
except Exception as e:
print("Can not connect to db. {} Occured".format(e))
check_server('25.13.253.67')
终端上显示的错误:-
回溯(最后一次通话):
文件“C:\Users\Hamid Shah\AppData\Roaming\Python\Python310\site-packages\mysql\connector
network.py”,第 574 行,在 open_connection 中
self.sock.connect(sockaddr)
TimeoutError: [WinError 10060] A connection attempt failed because the connected party didn't properly respond after a period time, or established connection failed because connected host has failed respond 连接失败
在处理上述异常的过程中,又出现了一个异常:
追溯(最近一次通话):
文件“f:\Docs\OneDrive\Python Projects\CFC App\splash_screen_gui.py”,第 151 行,位于
obj = 闪屏()
文件“f:\Docs\OneDrive\Python Projects\CFC App\splash_screen_gui.py”,第 51 行,位于在里面self.check_server(self.server_2)
check_server 中的文件“f:\Docs\OneDrive\Python Projects\CFC App\splash_screen_gui.py”,第 80 行
con = mysql.connector.connect(host='{}'.format(server_address),
文件“C:\Users\Hamid Shah\AppData\Roaming\Python\Python310\site-packages\mysql\connector_在里面_.py”,第 273 行,在连接中
返回 MySQLConnection(*args, **kwargs)
文件“C:\Users\Hamid Shah\AppData\Roaming\Python\Python310\site-packages\mysql\connector\connection.py”,第 116 行,位于在里面self.connect(**kwargs)
文件“C:\Users\Hamid Shah\AppData\Roaming\Python\Python310\site-packages\mysql\connector\abstracts.py”,第 1052 行,在连接中
self._open_connection()
文件“C:\Users\Hamid Shah\AppData\Roaming\Python\Python310\site-packages\mysql\connector\connection.py”,第 494 行,在 _open_connection
self._socket.open_connection()
文件“C:\Users\Hamid Shah\AppData\Roaming\Python\Python310\site-packages\mysql\connector\network.py”,第 576 行,在 open_connection
引发错误.InterfaceError(
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '25.13.253.67:3306' (10060 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立连接失败,因为连接的主机失败
回应)
【问题讨论】:
-
导致此错误的可能原因有很多。阅读dev.mysql.com/doc/refman/8.0/en/can-not-connect-to-server.html 获取指南。
标签: python mysql mysql-connector-python