Seperti yang dinyatakan di sini :
Dua alasan paling umum (dan perbaikan) untuk server MySQL telah hilang (kesalahan 2006) adalah:
Server kehabisan waktu dan menutup koneksi. Cara memperbaiki:
periksa apakah variabel wait_timeout di file konfigurasi my.cnf mysqld Anda cukup besar. Di Debian:
sudo nano /etc/mysql/my.cnf
, aturwait_timeout = 600
detik (Anda tidak dapat mengurangi/mengurangi nilai ini ketika kesalahan 2006 hilang), lalusudo /etc/init.d/mysql restart
. Saya tidak memeriksanya, tetapi nilai default forwait_timeout mungkin sekitar 28800 detik (8 jam).Server menjatuhkan paket yang salah atau terlalu besar. Jika mysqld mendapatkan paket yang terlalu besar atau salah, itu mengasumsikan bahwa ada sesuatu yang salah dengan klien dan menutup koneksi. Anda dapat meningkatkan batas ukuran paket maksimal dengan meningkatkan nilai max_allowed_packet di file my.cnf. Di Debian:
sudo nano /etc/mysql/my.cnf
, aturmax_allowed_packet = 64M
(Anda tidak dapat mengurangi/mengurangi nilai ini ketika kesalahan 2006 hilang), lalusudo /etc/init.d/mysql restart
.
Sunting:
Perhatikan bahwa file opsi MySQL tidak memiliki perintah yang sudah tersedia sebagai komentar (seperti di php.ini misalnya). Jadi, Anda harus mengetikkan perubahan/tweak apa pun di my.cnf
atau my.ini
dan letakkan di mysql/data
direktori atau di salah satu jalur lain, di bawah grup opsi yang tepat seperti [client]
, [myslqd]
, dll. Misalnya:
[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
Kemudian restart server. Untuk mendapatkan nilainya, ketik klien mysql:
> select @@wait_timeout;
> select @@max_allowed_packet;