Cosa significa errore MySQL 2013?


14

Sto eseguendo mysqldump su un server mysql in un cron (come backup) e sto ricevendo messaggi di avviso come

mysqldump: Got error: 2013: Lost connection to MySQL server during query when doing refresh

Cosa significa questo errore MySQL (2013)? Ho fatto alcuni googling e non è molto utile ...

Per la cronaca, mysqldump si sta connettendo a un server MySQL Slave, funzionava quando si connetteva a un master.

Risposte:


4

Questo potrebbe essere molto negativo, 2013significa che il thread che serve il mysqldumpprocesso è morto. Ciò potrebbe essere dovuto al fatto che il motore InnoDB sul server ha rilevato un errore durante la lettura del file di database per il database. Poiché mysqldumpè necessario leggere tutte le pagine di tutto il database per eseguire il backup, è probabile che si verifichi un eventuale danneggiamento latente che l'applicazione potrebbe evitare durante l'attività quotidiana.

Se esegui il tuo mysqlcomando e segnala che il tuo ID di connessione è un numero basso, probabilmente il tuo server si è riavviato. Dovresti controllare mysqld.logimmediatamente il tuo per scoprire perché.


grazie per aver accettato la mia risposta, cosa hai trovato nel tuo mysqld.log?
Dave Cheney,

Ho visto l'ID di connessione basso che significa che il server è stato riavviato. Non sono ancora sicuro del perché. Come posso verificare la "corruzione latente
Rory,

1
Se il server mysql si è riavviato da solo, nel registro mysql sarà presente un file di grandi dimensioni (leggi le pagine di debug).
Dave Cheney,

11

2013 significa che la connessione al server è andata via. Ci sono diverse possibilità a portata di mano:

  1. Qualcuno ha modificato KILLla query
  2. Problemi di rete hanno causato l'interruzione della connessione
  3. Il server si è bloccato / è morto
  4. La tua connessione era inattiva wait_timeouted è stata uccisa
  5. Il client non stava recuperando i dati abbastanza velocemente per net_wait_timeouted è stato ucciso

1
È net_write_timeout o net_wait_timeout ?
ks1322,

anche net_read_timeout= 600 e connect_timeout= 60

0

si apre la connessione, si esegue un'operazione prolungata che non coinvolge la connessione e quindi si tenta la query? in tal caso, probabilmente mysql ha abbandonato la connessione a causa di wait_timeout. riconnettersi semplicemente prima di inviare la query.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.