繁体   English   中英

如何验证 mysql 数据库是否可以在 python 中快速访问?

[英]How to verify if a mysql database is reachable quickly in python?

我有一个 mysql 服务器在我的本地网络上运行,无法通过网络访问,它需要保持这种状态。

当我在不同的网络上时,以下代码会挂起大约 5-10 秒,我的猜测是它重试连接了多次尝试:

import mysql.connector

conn = mysql.connector.connect(
            host="Address",
            user="user",
            password="password",
            database="database"
)

有没有办法在此代码之前“ping”mysql 服务器以验证 MySQL 服务器是否可访问或限制重试次数?

目前,如果服务器不可访问,我必须使用 try-except 子句来捕获。

与其在连接之前尝试实现特定行为,不如调整连接超时,以便您不必等待 - 根据您的需要,如果您无论如何都无法在短时间内连接,服务器将关闭。

可以使用connection_timeout来调整连接到服务器时使用的套接字超时

如果您将其设置为较低的值(似乎以秒为单位 - 所以1应该可以正常工作)您将获得您正在寻找的行为(它还将帮助您发现用户/密码/数据库值的任何问题)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM