O que significa o MySQL Error 2013?


14

Estou executando o mysqldump em um servidor mysql em um cron (como backup) e estou recebendo mensagens de aviso como

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

O que esse erro do MySQL (2013) significa? Eu pesquisei no Google e não é muito útil ...

Para o registro, o mysqldump está se conectando a um servidor MySQL Slave, que costumava funcionar quando estava se conectando a um mestre.

Respostas:


4

Isso pode ser muito ruim, 2013significa que o encadeamento que atende ao mysqldumpprocesso morreu. Isso pode ocorrer porque o mecanismo InnoDB no servidor detectou um erro ao ler o arquivo do banco de dados. Como mysqldumpé necessário ler todas as páginas de todo o seu banco de dados para fazer o backup, é provável que provoque qualquer corrupção latente que seu aplicativo possa evitar durante as atividades diárias.

Se você executar seu mysqlcomando e relatar que o seu ID de conexão é um número baixo, provavelmente o servidor foi reiniciado. Você deve verificar o seu mysqld.logimediatamente para descobrir o porquê.


obrigado por aceitar minha resposta, o que você encontrou no seu mysqld.log?
Dave Cheney

Vi a identificação de conexão baixa, o que significa que o servidor foi reiniciado. Ainda não sei por que. Como faço para verificar se há 'corrupção latente'
Rory

1
Se o seu servidor mysql foi reiniciado, haverá um grande (leia as páginas de depuração) no log do mysql.
Dave Cheney

11

2013 significa que a conexão com o servidor foi encerrada. Existem várias possibilidades disponíveis:

  1. Alguém KILLed a consulta
  2. Problemas de rede fizeram a conexão morrer
  3. O servidor travou / morreu
  4. Sua conexão estava ociosa wait_timeoute foi interrompida
  5. O cliente não estava obtendo dados com rapidez suficiente net_wait_timeoute foi morto

1
É net_write_timeout ou net_wait_timeout ?
precisa saber é o seguinte

Também net_read_timeout= 600 e connect_timeout= 60

0

você abre a conexão, realiza uma operação longa que não envolve a conexão e tenta a consulta? se for esse o caso, o mysql provavelmente cancelou a conexão devido ao wait_timeout. basta reconectar-se antes de emitir a consulta.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.