MySQL Workbench: Como manter a conexão ativa

160

Código de erro: 2013. Conexão perdida com o servidor MySQL durante a consulta

Estou usando o MySQL Workbench. Além disso, estou executando um lote de inserções, com cerca de 1000 linhas no total (por exemplo, INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4multiplicado por 1000 vezes). Cada lote leva uma quantidade considerável de tempo, algumas delas, mais de 600 segundos.

Como posso configurar o ambiente de trabalho para continuar trabalhando da noite para o dia, sem parar e sem perder a conexão?

Omar
fonte

Respostas:

344

Do arquivo de internet agora indisponível :

Vá para Editar -> Preferências -> Editor SQL e configure para um valor mais alto este parâmetro: Tempo limite de leitura da conexão DBMS (em segundos). Por exemplo: 86400.

Feche e reabra o MySQL Workbench. Mate sua consulta anterior que provavelmente está sendo executada e execute-a novamente.

Ignacio
fonte
5
Existe um erro em todas as versões do MySQL Workbench além da 6.0.x no Mac OS: stackoverflow.com/a/37890150/1014813
lepix
6
Isso funcionou para mim, mas tive que reiniciar o editor para entrar em vigor.
Cucu8
@lepix Esse bug foi corrigido?
posfan12
2
É necessário reiniciar o editor para que isso entre em vigor após a alteração dos valores.
philip oghenerobo balogun
46

Se você estiver usando um tipo de conexão "TCP / IP padrão sobre SSH", em "Preferências" -> "Outros", haverá o campo "SSH KeepAlive". Levei um bom tempo para encontrá-lo :(

Ljubitel
fonte
Por que você está repetindo uma resposta?
Jan Doggen
19
@ JanDoggen Não vejo outra resposta que indique onde, no MySQL Workbench, você pode alterar o "SSH KeepAlive", que por padrão é 0 => desativado. Eu só vejo uma resposta que sugere alterar as configurações de ssh do servidor ... #
31715
Obrigado por apontar isso, pois a configuração aqui substitui os arquivos de configuração do cliente ~ / .ssh / config e / etc / ssh / ssh_config Essa é uma necessidade absoluta para a banda larga móvel.
Rodney
Você poderia adicionar um exemplo de valor para usar em sua resposta? Você recomenda algo como 1800segundos?
AL
1
@AL depende do seu contexto. No meu caso, a conexão SSH estava expirando em 3 minutos (180 segundos), então eu configurei meu SSH KeepAlive para 30 segundos.
precisa
15

No 5.2.47 (pelo menos no mac), acesse a localização das preferências: MySQLWorkbench-> Preferences-> SQL Editor

Então você verá os dois:

Intervalo de manutenção da conexão DBMS (em segundos): Tempo limite de leitura da conexão DBMS (em segundos):

O último é onde você deseja aumentar o limite de 600 para algo um pouco mais.

jidulberger
fonte
Eu configurei o tempo limite de leitura da minha conexão DBMS para 86400 segundos. Após cerca de 7200 segundos de execução de alguma consulta, ainda recebo o erro 2013. Alguém sabe alguma coisa sobre isso?
IndexOutOfDevelopersException
12

No meu caso, depois de tentar definir o tempo limite do SSH na linha de comando e nas configurações do servidor local. A solução @Ljubitel resolveu o problema de mim.

Um ponto a ser observado é que, no Workbench 6.2, a configuração está agora em avançado

insira a descrição da imagem aqui

Abelgo
fonte
2
No 6.3 Advanced foi renomeado como Outros.
Richard Richard
2

Se você estiver usando um tipo de conexão "TCP / IP padrão sobre SSH", pode ser o servidor ssh que continua atingindo o tempo limite; nesse caso, você precisará editar as configurações relacionadas ao TCPKeepAlive em / etc / ssh / sshd_config no servidor .

Tuncay Göncüoğlu
fonte
2

Eu estava recebendo esse erro em 2013 e nenhuma das alterações de preferência acima fez nada para corrigir o problema. Eu reiniciei o serviço mysql e o problema desapareceu.

Neal Garrett
fonte
2

OK - então esse problema está me deixando louco - v 6.3.6 no Ubuntu Linux. Nenhuma das soluções acima funcionou para mim. Conectar-se ao servidor mysql localhost anteriormente sempre funcionava bem. A conexão com o servidor remoto sempre atingia o tempo limite - após cerca de 60 segundos, às vezes após menos tempo, às vezes mais.

O que finalmente funcionou para mim foi a atualização do Workbench para 6.3.9 - sem mais conexões perdidas.

Chris Dav
fonte
1

Eu tive um problema semelhante, que CREATE FULLTEXTatingiu o tempo limite após 30 segundos:

erro

A configuração do intervalo de tempo limite de leitura da conexão DBMS como 0 em Editar -> Preferências -> Editor do SQL corrigiu o problema para mim:

correção de erro

Além disso, não precisei reiniciar o mysql workbench para que isso funcionasse.

kimbaudi
fonte
0

no mysql-workbech 5.7 editar-> preferência-> SSH -> SSH Connect timeout (para conexão SSH DB) insira a descrição da imagem aqui

junior_software
fonte