我有一台mysql服务器在我的本地网络上运行,它不能脱离网络访问,它需要保持这样。
当我在不同的网络上时,下面的代码挂起了大约5-10秒,我猜它是多次尝试重试连接:
import mysql.connector
conn = mysql.connector.connect(
host="Address",
user="user",
password="password",
database="database"
)在这段代码之前,有没有办法"ping“mysql服务器,以验证MySQL服务器是否可达,或者限制重试的次数?
目前,如果服务器不可访问,我必须使用try-except子句来捕获。
发布于 2021-05-04 17:20:25
不要在连接之前尝试实现特定的行为,而是调整连接超时,以便您不必等待-根据您的需要,如果您无法在短时间内连接,服务器将关闭。
您在连接到服务器时使用的can use connection_timeout to adjust the socket timeout。
如果您将其设置为一个较低的值(似乎是以秒为单位-因此1应该可以正常工作),您将获得您正在寻找的行为(并且它还将帮助您捕获任何与用户/密码/数据库值有关的问题)。
https://stackoverflow.com/questions/67381449
复制相似问题