Mysqldb _exception operationalerror: (2006, server mysql telah hilang)

Hai. Saya menjalankan rasa di server dan semuanya baik-baik saja, tetapi ketika saya tidak menghubungi bot selama 1 - 2 hari dan kemudian menulis pesan - terjadi kesalahan. Dalam kasus pesan pertama - rasa berfungsi tetapi tanpa nilai slot. Ketika saya mengirim pesan berikutnya - semuanya baik-baik saja. Dapatkah seseorang membantu saya dengan ini?

Salah satu solusinya mungkin seperti meningkatkan wait_timeout = 31536000 interactive_timeout = 31536000 di sisi server MySQL. Tapi saya ingin menangani kesalahan ini di sisi Rasa

MySQLdb._exceptions.OperationalError: (2006, 'MySQL server has gone away') The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 126, in send return self.gen.send(value) File "/usr/local/lib/python3.6/site-packages/socketio/asyncio_server.py", line 438, in _handle_event_internal r = await server._trigger_event(data[0], namespace, sid, *data[1:]) File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 110, in __next__ return self.gen.send(None) MySQLdb._exceptions.OperationalError: (2006, 'MySQL server has gone away')0 MySQLdb._exceptions.OperationalError: (2006, 'MySQL server has gone away')1 File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 110, in __next__ return self.gen.send(None) MySQLdb._exceptions.OperationalError: (2006, 'MySQL server has gone away')4 MySQLdb._exceptions.OperationalError: (2006, 'MySQL server has gone away')5 File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 110, in __next__ return self.gen.send(None) MySQLdb._exceptions.OperationalError: (2006, 'MySQL server has gone away')8 MySQLdb._exceptions.OperationalError: (2006, 'MySQL server has gone away')9 File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 110, in __next__ return self.gen.send(None) The above exception was the direct cause of the following exception:2 The above exception was the direct cause of the following exception:3 File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 110, in __next__ return self.gen.send(None) The above exception was the direct cause of the following exception:6 The above exception was the direct cause of the following exception:7 File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 110, in __next__ return self.gen.send(None) Traceback (most recent call last):0 Traceback (most recent call last):1 Traceback (most recent call last):2

Salut les administrator. Saya punya pertanyaan (dan masalah) Saat menutup kueri SQL saya di ETL saya, saya mendapatkan kesalahan koneksi sementara sepertinya saya bisa terhubung

    c.execute("""
        UPDATE `{table_name}` 
        SET `{column_name}` = CONCAT('hash_', {expression})
        WHERE {pk_name} IN ({ids})
    """.format(
        table_name=table_name, column_name=column_name, expression=expression, pk_name=pk_name,
        ids=','.join(ids)
    ))

    print('.', end='', flush=True)

Memang, saya mengerti

(venv) C:\Users\antoi\Documents\Programming\Work\data-tools>python -m etl.main
2021-06-29 10:59:37.814133 - Connecting to database hozana_data...
2021-06-29 10:59:37.822142 - Connecting to archive database hozana_archive...
2021-06-29 10:59:38.046134 - Start ETL main process
2021-06-29 10:59:38.046134 - `users` table:
2021-06-29 10:59:38.046134 - Hashing column `users`.`email:` done.
2021-06-29 10:59:38.054091 - Hashing column `users`.`email_notification:`Traceback (most recent call last):
  File "C:\Users\antoi\Documents\Programming\Work\data-tools\etl\task\anonymization.py", line 17, in hash_column
    c.execute("""
  File "C:\Users\antoi\Documents\Programming\Work\data-tools\venv\lib\site-packages\MySQLdb\cursors.py", line 183, in execute
    while self.nextset():
  File "C:\Users\antoi\Documents\Programming\Work\data-tools\venv\lib\site-packages\MySQLdb\cursors.py", line 137, in nextset
    nr = db.next_result()
MySQLdb._exceptions.OperationalError: (2006, '')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\antoi\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\antoi\AppData\Local\Programs\Python\Python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\antoi\Documents\Programming\Work\data-tools\etl\main.py", line 52, in 
    main()
  File "C:\Users\antoi\Documents\Programming\Work\data-tools\etl\main.py", line 24, in main
    anonymization.main()
  File "C:\Users\antoi\Documents\Programming\Work\data-tools\etl\task\anonymization.py", line 59, in main
    hash_column('users', 'email_notification', 'user_id', True)
  File "C:\Users\antoi\Documents\Programming\Work\data-tools\etl\task\anonymization.py", line 50, in hash_column
    print('.', end='', flush=True)
  File "C:\Users\antoi\Documents\Programming\Work\data-tools\venv\lib\site-packages\MySQLdb\connections.py", line 239, in __exit__
    self.close()
MySQLdb._exceptions.OperationalError: (2006, '')
_

Saya pikir itu ketika klien tidak dapat mengirim kueri ke server, kemungkinan besar karena server itu sendiri telah memutuskan koneksi. Namun saya pikir sudah ada koneksi

Bagaimana Anda memperbaiki server MySQL 2006 telah hilang?

Server MySQL hilang (kesalahan 2006) memiliki dua penyebab dan solusi utama. Waktu server habis dan sambungan ditutup. Untuk memperbaikinya, periksa variabel wait_timeout mysql di my. file konfigurasi cnf cukup besar , misal wait_timeout = 28800.

Bagaimana cara me-restart server MySQL?

Mulai ulang Server MySQL .
Buka sesi terminal di server STA, dan masuk sebagai pengguna Oracle
Mulai layanan MySQL. $ STA mulai mysql
Verifikasi server berjalan. $ STA status mysql. Anda harus melihat. mysql sedang berjalan

Mengapa server MySQL telah hilang?

Alasan paling umum untuk kesalahan server MySQL hilang adalah waktu server habis dan koneksi ditutup . Dalam hal ini, Anda biasanya mendapatkan salah satu dari kode kesalahan berikut (yang Anda dapatkan bergantung pada sistem operasi). Klien tidak dapat mengirim pertanyaan ke server.

Bagaimana Anda mengatasi server MySQL telah hilang?

Untuk mengatasi masalah ini, pastikan bahwa waktu tunggu aplikasi lebih singkat daripada waktu tunggu MySQL, dan pastikan aplikasi Anda menutup koneksi yang menganggur . Jika waktu koneksi habis, tingkatkan waktu tunggu untuk MySQL dengan menambah parameter wait_timeout dan interactive_timeout dengan menggunakan grup parameter kustom.