Som nævnt her :
To mest almindelige årsager (og rettelser) til, at MySQL-serveren er forsvundet (fejl 2006), er:
Serveren fik timeout og lukkede forbindelsen. Sådan rettes:
-
tjek at wait_timeout-variablen i din mysqlds my.cnf-konfigurationsfil er stor nok. På Debian:
sudo nano /etc/mysql/my.cnf
, sætwait_timeout = 600
sekunder (du kan svække/sænke denne værdi, når fejl 2006 er væk), dereftersudo /etc/init.d/mysql restart
. Jeg tjekkede ikke, men standardværdien forwait_timeout kan være omkring 28800 sekunder (8 timer). -
Serveren tabte en forkert eller for stor pakke. Hvis mysqld får en pakke, der er for stor eller forkert, antager den, at noget er gået galt med klienten og lukker forbindelsen. Du kan øge den maksimale pakkestørrelsesgrænse ved at øge værdien afmax_allowed_packet i filen my.cnf. På Debian:
sudo nano /etc/mysql/my.cnf
, sætmax_allowed_packet = 64M
(du kan svække/sænke denne værdi, når fejl 2006 er væk), dereftersudo /etc/init.d/mysql restart
.
Rediger:
Bemærk, at MySQL-optionsfilerne ikke allerede har deres kommandoer tilgængelige som kommentarer (som f.eks. i php.ini). Så du skal indtaste enhver ændring/tweak i my.cnf
eller my.ini
og placer dem i mysql/data
bibliotek eller i en af de andre stier under den rigtige gruppe af muligheder såsom [client]
, [myslqd]
osv. For eksempel:
[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
Genstart derefter serveren. For at få deres værdier skal du indtaste mysql-klienten:
> select @@wait_timeout;
> select @@max_allowed_packet;