Я подключаюсь к двум базам данных через mysql.connect
oldCnx = mysql.connector.connect(user='root', password='root', host='127.0.0.1', database='testdb', connect_timeout=10000)
Соединение с удаленным db устанавливается одинаково (только с другими учетными данными). Через 20 (или 60) минут я получаю сообщение об ошибке: mysql.connector.errors.OperationalError: 2055: Lost connection to MySQL server at '127.0.0.1:3306', system error: 10054. An existing connection was forcibly closed by the remote host
.
Что делать? Нужно ли мне каким-либо образом расширять тайм-аут или повторно подключаться, когда соединение принудительно закрывается? Если да, то как мне это сделать?
Если вы хотите изменить таймаут, вы, вероятно, можете использовать аргумент connection_timeout
в connect()
cnx.reconnect(attempts=1, delay=0)
также возможно с помощью cnx.reconnect(attempts=1, delay=0)
в блоке try/except.
connect_timeout
согласно этой странице (разделCompatibitility with Other Connection Interfaces
), но доступность зависит от интерфейса. Вероятно, некоторые различия в двигателе :)