Come affermato qui :
I due motivi più comuni (e correzioni) per cui il server MySQL è scomparso (errore 2006) sono:
Il server è scaduto e ha chiuso la connessione. Come risolvere:
-
controlla che la variabile wait_timeout nel file di configurazione my.cnf di mysqld sia sufficientemente grande. Su Debian:
sudo nano /etc/mysql/my.cnf
, impostawait_timeout = 600
secondi (puoi modificare/diminuire questo valore quando l'errore 2006 è scomparso), quindisudo /etc/init.d/mysql restart
. Non ho verificato, ma il valore predefinito forwait_timeout potrebbe essere di circa 28800 secondi (8 ore). -
Il server ha rilasciato un pacchetto errato o troppo grande. Se mysqld riceve un pacchetto troppo grande o errato, presume che qualcosa sia andato storto con il client e chiude la connessione. È possibile aumentare il limite della dimensione massima del pacchetto aumentando il valore di max_allowed_packet nel file my.cnf. Su Debian:
sudo nano /etc/mysql/my.cnf
, impostamax_allowed_packet = 64M
(puoi modificare/diminuire questo valore quando l'errore 2006 è scomparso), quindisudo /etc/init.d/mysql restart
.
Modifica:
Si noti che i file delle opzioni MySQL non hanno i loro comandi già disponibili come commenti (come ad esempio in php.ini). Quindi devi digitare qualsiasi modifica/tweak in my.cnf
o my.ini
e inseriscili in mysql/data
directory o in uno qualsiasi degli altri percorsi, nel gruppo appropriato di opzioni come [client]
, [myslqd]
, ecc. Ad esempio:
[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
Quindi riavvia il server. Per ottenere i loro valori, digita il client mysql:
> select @@wait_timeout;
> select @@max_allowed_packet;