Jak je uvedeno zde :
Dva nejčastější důvody (a opravy) toho, že server MySQL zmizel (chyba 2006), jsou:
Server vypršel a ukončil připojení. Jak opravit:
zkontrolujte, zda je proměnná wait_timeout v konfiguračním souboru my.cnf vašeho mysqld dostatečně velká. V Debianu:
sudo nano /etc/mysql/my.cnf
, nastavtewait_timeout = 600
sekund (tuto hodnotu nemůžete upravit/snížit, když chyba 2006 zmizí), potésudo /etc/init.d/mysql restart
. Nezkontroloval jsem to, ale výchozí hodnota forwait_timeout může být přibližně 28 800 sekund (8 hodin).Server zahodil nesprávný nebo příliš velký paket. Pokud mysqld získá paket, který je příliš velký nebo nesprávný, předpokládá, že se s klientem něco pokazilo, a uzavře spojení. Limit maximální velikosti paketu můžete zvýšit zvýšením hodnoty max_allowed_packet v souboru my.cnf. V Debianu:
sudo nano /etc/mysql/my.cnf
, nastavtemax_allowed_packet = 64M
(tuto hodnotu nemůžete upravit/snížit, až chyba 2006 zmizí), potésudo /etc/init.d/mysql restart
.
Upravit:
Všimněte si, že soubory voleb MySQL již nemají své příkazy dostupné jako komentáře (jako například v php.ini). Takže musíte zadat jakoukoli změnu/tweak do my.cnf
nebo my.ini
a umístěte je do mysql/data
adresáři nebo v jakékoli jiné cestě pod správnou skupinou možností, jako je [client]
, [myslqd]
, atd. Například:
[mysqld]
wait_timeout = 600
max_allowed_packet = 64M
Poté restartujte server. Chcete-li získat jejich hodnoty, zadejte do klienta mysql:
> select @@wait_timeout;
> select @@max_allowed_packet;