Zaman aşımları için hangi varsayılan değerlerin mevcut olduğuna bakmanız gerekir:
mysql> show variables like '%timeout';
+----------------------------+-------+
| Variable_name | Value |
+----------------------------+-------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 60 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 60 |
+----------------------------+-------+
10 rows in set (0.00 sec)
Genellikle birkaç zaman aşımı değişkeni izlerim. MySQL'i MySQL Workbench, mysql istemcisi veya PHP uygulamasından bir DB Sunucusundaki MySQL ile iletişim kuran bir uygulama sunucusunda uzaktan kullanıyorsanız, bu çok önemlidir.
MySQL Belgelerinde aşağıdaki ayarlardan biri belirtilmektedir:
- wait_timeout (Varsayılan 28800 [8 saat]): Sunucunun kapatmadan önce etkileşimli olmayan bir bağlantıda etkinlik beklediği saniye sayısı. Bu zaman aşımı, adlandırılmış yöneltmeler veya paylaşılan bellek kullanılarak yapılan bağlantılar için değil, yalnızca TCP / IP ve Unix soket dosya bağlantıları için geçerlidir. İş parçacığı başlangıcında, oturum wait_timeout değeri, istemcinin türüne (mysql_real_connect (CLIENT_INTERACTIVE bağlantı seçeneği tarafından tanımlandığı gibi) bağlı olarak, global wait_timeout değerinden veya global interactive_timeout değerinden başlatılır. Ayrıca interactive_timeout'a bakın.
- interactive_timeout (Varsayılan 28800 [8 saat]): Sunucunun kapatmadan önce etkileşimli bir bağlantıda etkinlik beklediği saniye sayısı. Etkileşimli istemci, mysql_real_connect () işlevine CLIENT_INTERACTIVE seçeneğini kullanan bir istemci olarak tanımlanır. Ayrıca bkz. Wait_timeout.
- net_read_timeout (Varsayılan 30): Okumayı iptal etmeden önce bir bağlantıdan daha fazla veri beklenecek saniye sayısı. Sunucu istemciden okurken net_read_timeout, ne zaman iptal edileceğini kontrol eden zaman aşımı değeridir. Sunucu istemciye yazarken, net_write_timeout ne zaman sonlandırılacağını kontrol eden zaman aşımı değeridir. Ayrıca bkz. Slave_net_timeout.
- net_write_timeout (Varsayılan 60): Yazma işlemini iptal etmeden önce bir bloğun bir bağlantıya yazılması için beklenecek saniye sayısı. Ayrıca bkz. Net_read_timeout.
Lütfen bu zaman aşımlarının çok uzun süre çalışabilecek ve aşağıdakileri içerebilecek sorguları alacak kadar yüksek ayarlandığından emin olun:
- kitle
UPDATEs
- kitle
DELETEs
ENABLE KEYS
Büyük bir MyISAM'da
Teması kaybettikten sonra çalışmaya devam eden sorgularla başa çıkmak için , uzun süren sorgunun işlem kimliğine karşı KILL çalıştırmanız gerekir . KILL komutuyla bile, disk yoğun adımların ortasında olan veya dahili muteksleri devam eden herhangi bir sorguyu beklemeniz gerekecektir.