Rumah > pangkalan data > tutorial mysql > Mengapa Sambungan MySQL Saya Gagal dengan 'Pelayan Telah Pergi,' dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Sambungan MySQL Saya Gagal dengan 'Pelayan Telah Pergi,' dan Bagaimana Saya Boleh Membetulkannya?

Linda Hamilton
Lepaskan: 2024-12-17 08:55:24
asal
801 orang telah melayarinya

Why Does My MySQL Connection Fail with

Menangani Ralat "Server has Gone Away" MySQL

Menjalankan pelayan untuk memproses fail dan melaporkan hasil kepada pelayan MySQL jauh sekali-sekala boleh membawa kepada ralat yang mengecewakan: "2006, pelayan MySQL telah hilang." Ini boleh berlaku apabila pemprosesan fail mengambil masa yang ketara dan sambungan antara klien (pelayan pejabat) dan pelayan MySQL tamat masa.

Walaupun tetapan "wait_timeout" telah disebut sebagai penyelesaian yang berpotensi, ia adalah penting untuk ambil perhatian bahawa ia merujuk kepada pelayan yang pejabat anda sedang berjalan. Melaraskan tetapan ini mungkin tidak menyelesaikan isu jika masalah terletak pada pelayan MySQL jauh.

Mendedahkan Punca Punca

Dalam kebanyakan kes, punca sebenar adalah rendah tetapan lalai untuk "max_allowed_packet," yang mengehadkan saiz maksimum data yang boleh dihantar dalam satu paket antara klien dan pelayan. Memproses fail besar mungkin memerlukan paket yang lebih besar daripada had lalai, menyebabkan pelayan memutuskan sambungan.

Meningkatkan Saiz Paket

Untuk membetulkannya, ubah suai "paket_maks_dibenarkan" tetapan dalam fail "/etc/my.cnf" (di bawah [mysqld]) pada pelayan pejabat anda. Menaikkannya kepada nilai yang lebih tinggi, seperti 8M atau 16M, biasanya menghapuskan ralat. Walau bagaimanapun, adalah penting untuk memilih saiz yang sesuai untuk keperluan khusus anda.

Nota Tambahan untuk Konfigurasi

  • Jika baris untuk "max_allowed_packet" tidak wujud dalam fail konfigurasi, tambahkannya sebagai entri di bawah [mysqld].
  • Perubahan dibuat pada fail konfigurasi hanya akan berterusan selepas memulakan semula daemon MySQL. Sebagai alternatif, anda boleh menggunakan arahan "SET GLOBAL max_allowed_packet=104857600" untuk menetapkan nilai buat sementara waktu kepada 100MB.
  • Pada sistem Windows, pastikan fail "my.ini" atau "my.cnf" disimpan dengan Pengekodan ANSI, bukan UTF-8.

Dengan menangani Tetapan "max_allowed_packet", anda boleh mengurangkan ralat "MySQL server has gone away" dengan berkesan dan memastikan sambungan yang stabil antara pelayan pejabat anda dan pelayan MySQL jauh semasa pemprosesan fail.

Atas ialah kandungan terperinci Mengapa Sambungan MySQL Saya Gagal dengan 'Pelayan Telah Pergi,' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan