MySQL Workbench: Bağlantının canlı tutulması


160

Hata Kodu: 2013. Sorgu sırasında MySQL sunucusuyla bağlantı kesildi

MySQL Workbench kullanıyorum. Ayrıca, toplam yaklaşık 1000 satırlık bir ekler topluyorum (Örn. INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource41000 kez çarpıldı) Her toplu iş, bazıları 600 saniyeden fazla önemli miktarda zaman alır.

Çalışma tezgahını gece boyunca çalışmaya devam etmeden, bağlantıyı kesmeden ve bağlantıyı kesmeden nasıl yapılandırabilirim?

Yanıtlar:


344

Artık mevcut olmayan internet arşivinden:

Düzenle -> Tercihler -> SQL Editör'e gidin ve bu parametreyi daha yüksek bir değere ayarlayın: DBMS bağlantısı okuma zaman aşımı (saniye cinsinden). Örneğin: 86400.

MySQL Workbench'i kapatın ve yeniden açın. Muhtemelen çalışmakta olan önceden sorgunuzu öldürün ve sorguyu tekrar çalıştırın.


5
Mac OS'de MySQL Workbench'in 6.0.x sürümünden sonraki tüm sürümlerinde bir hata var: stackoverflow.com/a/37890150/1014813
lepix

6
Bu benim için çalıştı, ancak etkili olması için editörü yeniden başlatmak zorunda kaldı.
cucu8

@lepix Bu hata düzeltildi mi?
posfan12

2
Bunun değerleri değiştirdikten sonra etkili olması için düzenleyicinin yeniden başlatılması gerekir.
philip oghenerobo balogun

46

"SSH üzerinden Standart TCP / IP" tipi bir bağlantı kullanıyorsanız, "Tercihler" -> "Diğerleri" altında "SSH KeepAlive" alanı vardır. Onu bulmak biraz zaman aldı :(


Neden bir cevabı tekrarlıyorsun?
Jan Doggen

19
@JanDoggen MySQL Workbench'te varsayılan olarak 0 => devre dışı olan "SSH KeepAlive" ayarını değiştirebileceğiniz başka bir yanıt görmüyorum. Sadece sunucunun ssh ayarlarını değiştirmeyi öneren bir cevap görüyorum ...
Ljubitel

Bunu belirttiğiniz için teşekkürler, buradaki ayar istemci yapılandırma dosyalarını geçersiz kıldığından ~ / .ssh / config ve / etc / ssh / ssh_config Bu, mobil geniş bant için mutlak bir zorunluluktur.
Rodney

Cevabınızda kullanılacak bir değer örneği ekleyebilir misiniz? 1800Saniyeler gibi bir şey önerir misin?
AL

1
@AL Bağlamınıza bağlıdır. Benim durumumda, SSH bağlantısı 3 dakika içinde (180 saniye) sona ermişti, bu yüzden SSH KeepAlive'imi 30 saniyeye ayarladım.
Ljubitel

15

5.2.47'de (en azından mac'ta), tercihlerin konumuna gidin: MySQLWorkbench-> Tercihler-> SQL Editör

Sonra ikisini de göreceksiniz:

DBMS bağlantısı canlı tutma aralığı (saniye olarak): DBMS bağlantısı okuma zaman aşımı (saniye olarak):

İkincisi, sınırı 600'den biraz daha fazlasına çıkarmak isteyeceğiniz yerdir.


Ben DBMS bağlantısı okuma zaman aşımı 86400 saniye için ayarladım, bazı sorgu çalışan yaklaşık 7200 saniye sonra hala hata 2013 olsun. Herkes bu konuda bir şey biliyor mu?
IndexOutOfDevelopersException

12

Benim durumumda komut satırında ve yerel sunucu ayarlarında SSH zaman aşımını ayarlamaya çalıştıktan sonra. @Ljubitel çözümü benim için sorunu çözdü.

Dikkat edilmesi gereken bir nokta, Workbench 6.2'de ayarın artık gelişmiş

resim açıklamasını buraya girin


2
6.3 yılında Gelişmiş Diğerleri olarak yeniden adlandırıldı.
Richard

2

"SSH üzerinden Standart TCP / IP" tipi bir bağlantı kullanıyorsanız, zaman aşımını devam ettiren ssh sunucusu olabilir, bu durumda sunucunuzdaki / etc / ssh / sshd_config dosyasında TCPKeepAlive ile ilgili ayarları düzenlemeniz gerekir. .


2

Bu hatayı 2013 alıyordum ve yukarıdaki tercih değişikliklerinin hiçbiri sorunu düzeltmek için hiçbir şey yapmadı. MySQL hizmetini yeniden başlattım ve sorun gitti.


2

Tamam - bu sorun beni deli ediyor - v Ubuntu Linux'ta 6.3.6. Yukarıdaki çözümlerin hiçbiri benim için işe yaramadı. Daha önce localhost mysql sunucusuna bağlanmak her zaman iyi çalıştı. Uzak sunucuya bağlanma her zaman zaman aşımına uğradı - yaklaşık 60 saniye sonra, bazen daha kısa bir süre sonra, bazen daha fazla.

Sonunda benim için işe yarayan Workbench'i 6.3.9'a yükseltiyordu - artık bağlantı kesilmiyordu.


1

CREATE FULLTEXT30 saniye sonra zaman aşımına uğramış benzer bir sorun vardı :

hata

Düzenle -> Tercihler -> SQL Editör altında DBMS bağlantısı okuma zaman aşımı aralığını 0 olarak ayarlamak benim için sorunu düzeltti:

düzeltme hatası

Ayrıca, bunun çalışması için mysql tezgah yeniden başlatmak zorunda değildi.


0

mysql-workbech 5.7 içinde edit-> tercih-> SSH -> SSH Bağlantı zaman aşımı (SSH DB bağlantısı için) resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.