MySQL Workbench: Cara menjaga koneksi tetap hidup

160

Kode Kesalahan: 2013. Koneksi terputus ke server MySQL selama permintaan

Saya menggunakan MySQL Workbench. Juga, saya menjalankan batch sisipan, sekitar total 1000 baris (mis. INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4Dikalikan 1000 kali) Setiap batch membutuhkan waktu yang cukup lama, beberapa di antaranya, lebih dari 600 detik.

Bagaimana saya bisa mengkonfigurasi meja kerja, untuk terus bekerja semalaman, tanpa henti dan tanpa kehilangan koneksi?

Omar
sumber

Jawaban:

344

Dari arsip internet yang sekarang tidak tersedia :

Pergi ke Edit -> Preferences -> SQL Editor dan atur ke nilai yang lebih tinggi dari parameter ini: Koneksi DBMS read time out (dalam detik). Misalnya: 86400.

Tutup dan buka kembali MySQL Workbench. Bunuh kueri Anda sebelumnya yang mungkin berjalan dan jalankan kueri lagi.

Ignacio
sumber
5
Ada bug di semua versi MySQL Workbench di luar 6.0.x di Mac OS: stackoverflow.com/a/37890150/1014813
lepix
6
Ini bekerja untuk saya, tetapi harus me-restart editor untuk mulai berlaku.
cucu8
@ lepix Apakah bug ini diperbaiki?
posfan12
2
Diperlukan restart editor untuk dapat berfungsi setelah mengubah nilainya.
philip oghenerobo balogun
46

Jika Anda menggunakan jenis koneksi "Standard TCP / IP over SSH", di bawah "Preferensi" -> "Lainnya" ada bidang "SSH KeepAlive". Butuh waktu cukup lama untuk menemukannya :(

Ljubitel
sumber
Mengapa Anda mengulangi jawaban?
Jan Doggen
19
@ JanDoggen Saya tidak melihat jawaban lain yang menunjukkan di mana di MySQL Workbench Anda dapat mengubah "SSH KeepAlive" yang secara default adalah 0 => dinonaktifkan. Saya hanya melihat jawaban yang menyarankan untuk mengubah pengaturan ssh server ...
Ljubitel
Terima kasih telah menunjukkan ini, karena pengaturan di sini menimpa file konfigurasi klien ~ / .ssh / config dan / etc / ssh / ssh_config Ini adalah keharusan mutlak untuk broadband seluler.
Rodney
Bisakah Anda menambahkan contoh nilai untuk digunakan dalam jawaban Anda? Apakah Anda merekomendasikan sesuatu seperti 1800detik?
AL
1
@AL tergantung pada konteks Anda. Dalam kasus saya, koneksi SSH kedaluwarsa dalam 3 menit (180 detik) jadi saya mengatur SSH KeepAlive saya menjadi 30 detik.
Ljubitel
15

Di 5.2.47 (setidaknya di mac), buka lokasi preferensi adalah: MySQLWorkbench-> Preferences-> SQL Editor

Maka Anda akan melihat keduanya:

Interval tetap-koneksi sambungan DBMS (dalam detik): Waktu baca koneksi DBMS (dalam detik):

Yang terakhir adalah tempat Anda ingin menaikkan batas dari 600 ke sesuatu yang sedikit lebih.

jidulberger
sumber
Saya telah mengatur koneksi DBMS saya baca batas waktu menjadi 86400 detik, setelah sekitar 7200 detik menjalankan beberapa permintaan saya masih mendapatkan kesalahan 2013. Apakah ada yang tahu tentang hal itu?
IndexOutOfDevelopersException
12

Dalam kasus saya setelah mencoba mengatur batas waktu SSH pada baris perintah dan dalam pengaturan server lokal. Solusi @Ljubitel menyelesaikan masalah dari saya.

Satu hal yang perlu diperhatikan adalah bahwa di Workbench 6.2 pengaturannya sekarang di bawah tingkat lanjut

masukkan deskripsi gambar di sini

Abelgo
sumber
2
Pada 6.3 Advanced telah berganti nama menjadi Lainnya.
Richard
2

Jika Anda menggunakan jenis koneksi "Standard TCP / IP over SSH", itu mungkin server ssh yang membuat waktu habis, dalam hal ini, Anda harus mengedit pengaturan terkait TCPKeepAlive di / etc / ssh / sshd_config di server Anda .

Tuncay Göncüoğlu
sumber
2

Saya mendapatkan kesalahan ini 2013 dan tidak ada perubahan preferensi di atas melakukan apa pun untuk memperbaiki masalah. Saya me-restart layanan mysql dan masalahnya hilang.

Neal Garrett
sumber
2

OK - jadi masalah ini membuat saya gila - v 6.3.6 di Ubuntu Linux. Tidak ada solusi di atas yang berfungsi untuk saya. Menghubungkan ke server mysql localhost sebelumnya selalu berfungsi dengan baik. Menyambung ke server jauh selalu kehabisan waktu - setelah sekitar 60 detik, kadang-kadang setelah waktu yang lebih sedikit, kadang-kadang lebih.

Yang akhirnya berhasil bagi saya adalah meningkatkan Workbench menjadi 6.3.9 - tidak ada lagi koneksi yang terputus.

Chris Dav
sumber
1

Saya memiliki masalah yang sama dengan CREATE FULLTEXTwaktu habis setelah 30 detik:

kesalahan

Mengatur interval waktu baca koneksi DBMS ke 0 di bawah Edit -> Preferences -> SQL Editor memperbaiki masalah bagi saya:

memperbaiki kesalahan

Juga, saya tidak perlu me-restart meja kerja mysql agar ini berfungsi.

kimbaudi
sumber
0

di mysql-workbech 5.7 edit-> preferensi-> SSH -> SSH Connect timeout (untuk koneksi SSH DB) masukkan deskripsi gambar di sini

perangkat lunak junior_
sumber