py mysql .err.OperationalError: (2006, "MySQL сервер пропал (TimeoutError (110," Время ожидания истекло "))") - PullRequest
0 голосов
/ 07 апреля 2020

Мой вопрос касается повторного подключения к MySQL серверу в случае возникновения ошибки.

Я подключаюсь к MySQL серверу в Flask:

connection = pymysql.connect(host='host',
                             user='user',
                             connect_timeout= 31536000,
                             password='passwd',
                             db='db_name',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

и для запрос с использованием курсора: Flask код маршрута:

@app.route("/chart", methods=['GET', 'POST'])
def chart():
    try:
        with connection.cursor() as cursor:
        #line chart open tickets
        query = "select createdDate,rootCause,requestId from db_name;"
        df = pd.read_sql(query, connection)
        print(df)

    except pymysql.MySQLError as e:
        print(e)

Я хочу повторно подключиться к БД, когда получаю ошибку:

pymysql.err.OperationalError: (2006, "MySQL server has gone away (TimeoutError(110, 'Connection timed out'))")

Пожалуйста, помогите мне найти решение для эта ошибка.

Как переподключиться к базе данных при возникновении любой ошибки.

Заранее спасибо!

...