如何修复MySQL Server在Python中消失的错误

时间:2019-07-05 14:05:33

标签: python mysql mysql-connector mysql-connector-python

我正在运行实时检测python脚本。因此,python脚本在不关闭的情况下运行24/7,但是几个小时后,我收到MySQL has hone away错误

这是我建立连接的代码

def connectToMySQL(config_str):
    return mysql.connector.connect(
        host=config_str[1].strip('\n').strip('\r\n'),
        user=config_str[2].strip('\n').strip('\r\n'),
        passwd=config_str[3].strip('\n').strip('\r\n'),
        database=config_str[4].strip('\n').strip('\r\n')
    )
mydb = connectToMySQL(config_str)

mycursor = mydb.cursor()

如何将超时限制设置为无穷大?

2 个答案:

答案 0 :(得分:0)

我在多线程环境中使用连接时遇到了这个问题。我通过从每个线程再次建立连接来修复它(并在其中关闭它)。

答案 1 :(得分:0)

在 MySQL 中执行以下查询。

SET @@GLOBAL.wait_timeout=31536000;
SET @@GLOBAL.interactive_timeout=31536000;

(Windows 使用 2147483 值)

重启 MySQL 服务器。

另外,请确保在使用后关闭游标和连接。

mycursor.close()
mydb.close()