Cara Menyelesaikan Ralat Pemutus Pelayan MySQL: "Pelayan MySQL telah hilang"
Apabila melakukan sisipan pangkalan data, ralat "Ralat umum: Pelayan MySQL 2006 telah hilang" boleh berlaku, terutamanya selepas memproses bilangan rekod tertentu.
Punca:
Punca isu ini biasanya berkaitan dengan MySQL pembolehubah tunggu_masa tamat. Apabila MySQL menunggu lebih lama daripada tempoh tamat masa yang ditentukan untuk respons daripada klien, ia menamatkan sambungan.
Penyelesaian:
Untuk menangani masalah ini, anda boleh mengubah suai pembolehubah sesi wait_timeout sebelum melaksanakan pertanyaan sisipan:
<code class="php">$results = $db->query("SET session wait_timeout=28800", FALSE);</code>
Dengan menetapkan wait_timeout kepada nilai yang lebih besar (dalam kes ini, 28800 saat atau 8 jam), MySQL akan membenarkan lebih banyak masa untuk proses pemasukan selesai sebelum ditamatkan sambungan.
Pertimbangan Tambahan:
<code class="php">$results = $db->query("SET session interactive_timeout=28800", FALSE);</code>
Pengubahsuaian ini boleh menghalang MySQL daripada menamatkan sambungan kerana ketidakaktifan semasa proses pemasukan.
Pengesahan:
<code class="php">$results = $db->query("SHOW VARIABLES LIKE '%timeout%'", TRUE); echo "<pre class="brush:php;toolbar:false">"; var_dump($results); echo "";
Kod ini akan memaparkan tetapan semasa pembolehubah wait_timeout dan interactive_timeout untuk mengesahkan bahawa ia telah diubah suai.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'MySQL server has gone away\': Panduan untuk Memahami dan Menyelesaikan Pemutusan Sambungan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!