Rumah >pangkalan data >tutorial mysql >Mengapa Pertanyaan MySQL Saya yang Berlangsung Lama Menghasilkan Ralat \'MySQL Server Telah Pergi\' Selepas 60 Saat?
MySQL Server Telah Pergi - Isu Tamat Masa Tidak Dijangka
Apabila melaksanakan pertanyaan yang berjalan lama (tidur 120 saat), pengguna telah menghadapi masalah isu di mana proses gagal dengan mesej ralat "Pelayan MySQL telah hilang." Ini berlaku selepas tepat 60 saat. Masalah berterusan pada kedua-dua Windows Server 2003 dan MySQL 5.1.36-komuniti.
Langkah Penyelesaian Masalah
Pengguna telah mencuba pelbagai langkah penyelesaian masalah, termasuk melaraskan tetapan tunggu_masa tamat kepada 28800 saat dan but semula pelayan pangkalan data dan mesin. Walaupun usaha ini dilakukan, ralat tamat masa berterusan.
Punca Kemungkinan
Isu ini nampaknya berkaitan dengan tetapan dan bukannya kekurangan sumber, kerana tamat masa berlaku secara konsisten pada 60 saat tandakan.
Penyelesaian
Masalahnya berpunca daripada pilihan PHP mysql.connect_timeout. Walaupun tujuan utamanya adalah untuk menentukan tamat masa sambungan, ia juga menentukan masa yang dibenarkan untuk respons pelayan pertama. Untuk menyelesaikan isu ini, pengguna perlu meningkatkan nilai tamat masa ini seperti berikut:
ini_set('mysql.connect_timeout', 300); ini_set('default_socket_timeout', 300);
Dengan menetapkan nilai ini kepada 300 saat (5 minit), sistem menunggu respons pelayan untuk tempoh yang lebih lama sebelum tamat masa . Ini membolehkan pertanyaan jangka panjang berjaya diselesaikan.
Atas ialah kandungan terperinci Mengapa Pertanyaan MySQL Saya yang Berlangsung Lama Menghasilkan Ralat \'MySQL Server Telah Pergi\' Selepas 60 Saat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!