Eu recebi o código de erro: 2013. Perdi a conexão com o servidor MySQL durante um erro de consulta quando tentei adicionar um índice a uma tabela usando o MySQL Workbench. Notei também que ele aparece sempre que executo uma consulta longa.
Existe alguma distância para aumentar o valor do tempo limite?
mysql
sql
database
mysql-workbench
user836026
fonte
fonte
DBMS connection read time out
campo aceita apenas 5 figuras e a configuração do campo como 0 é equivalente ao parâmetro padrão (600 segundos). (Windows 7 Ultimate de 64 bits, MySQL Workbench 5.2.47 CE)Inicie o servidor de banco de dados com a opção comandline
net_read_timeout
/wait_timeout
e um valor adequado (em segundos) - por exemplo:--net_read_timeout=100
.Para referência, veja aqui e aqui .
fonte
mysqld
.Se sua consulta tiver dados de blob, esse problema poderá ser corrigido aplicando uma
my.ini
alteração conforme proposto nesta resposta :Por padrão, será 1 milhão (o valor máximo permitido é 1024 milhões). Se o valor fornecido não for múltiplo de 1024K, ele será arredondado automaticamente para o múltiplo mais próximo de 1024K.
Enquanto o segmento de referência é sobre o erro MySQL 2006 , definindo o
max_allowed_packet
de 1M a 16M fez corrigir o erro 2013, que apareceu para mim quando executar uma consulta longa.Para usuários WAMP: você encontrará a bandeira na
[wampmysqld]
seção.fonte
Adicione o seguinte no arquivo / etc / mysql / cnf:
exemplo:
fonte
/etc/mysql/cnf
está correto? Não deveria ser/etc/my.cnf
?Aviso: O seguinte não funcionará quando você o estiver aplicando em conexão remota:
fonte
Existem três causas prováveis para esta mensagem de erro
Causa 2:
do padrão de 30 segundos a 60 segundos ou mais
Causa 3:
fonte
Obrigado! Mas com as atualizações do mysqldb, o configure se tornou:
documento mysql
fonte
Você deve definir as propriedades 'interactive_timeout' e 'wait_timeout' no arquivo de configuração do mysql com os valores necessários.
fonte
Basta executar uma atualização do MySQL que reconstruirá o mecanismo innoDB juntamente com a reconstrução de muitas tabelas necessárias para o funcionamento adequado do MySQL, como
performance_schema
, por exemplo ,information_schema
, etc.Emita o comando abaixo em seu shell:
fonte
Eu sei que é velho, mas no mac
fonte
Altere o tempo de "tempo limite de leitura" em Editar-> Preferências-> Editor SQL-> Sessão MySQL
fonte
Tente desmarcar o limite de linhas em Editar → Preferências → Consultas SQL
porque Você deve definir as propriedades 'interactive_timeout' e 'wait_timeout' no arquivo de configuração do mysql com os valores necessários.
fonte
Se você enfrentar esse problema durante a restauração de um grande arquivo de despejo e puder descartar o problema de que ele tem alguma coisa a ver com a rede (por exemplo, execução no localhost), minha solução pode ser útil.
Meu mysqldump continha pelo menos um INSERT que era grande demais para o mysql calcular. Você pode visualizar esta variável digitando
show variables like "net_buffer_length";
dentro do seu mysql-cli. Você tem três possibilidades:--skip-extended-insert
, por inserção, uma linha é usada -> embora esses despejos sejam muito mais agradáveis de ler, isso não é adequado para despejos grandes> 1 GB, porque tende a ser muito lento--net-buffer_length NR_OF_BYTES
onde NR_OF_BYTES é menor que o net_buffer_length do servidor -> Eu acho que essa é a melhor solução, embora não seja necessário reiniciar o servidor mais lentamente.Eu usei o seguinte comando mysqldump:
mysqldump --skip-comments --set-charset --default-character-set=utf8 --single-transaction --net-buffer_length 4096 DBX > dumpfile
fonte
Eu tive o mesmo problema ao carregar um arquivo .csv. Convertido o arquivo para .sql.
Usando o comando abaixo, eu consigo solucionar esse problema.
Espero que isso ajude.
fonte
Se todas as outras soluções aqui falharem - verifique seu syslog (/ var / log / syslog ou similar) para ver se o servidor está ficando sem memória durante a consulta.
Teve esse problema quando innodb_buffer_pool_size foi definido muito próximo da memória física sem um arquivo de troca configurado. O MySQL recomenda para um servidor específico do banco de dados definir innodb_buffer_pool_size no máximo em torno de 80% da memória física , eu o defini em cerca de 90%, o kernel estava acabando com o processo mysql. Movemos innodb_buffer_pool_size de volta para cerca de 80% e isso corrigiu o problema.
fonte
No meu caso, definir o intervalo de tempo limite da conexão para 6000 ou algo mais alto não funcionou.
Acabei de fazer o que a bancada diz que posso fazer.
Nas Preferências do Mac -> Editor SQL -> Vá para Sessão MySQL -> defina o intervalo de tempo limite de leitura da conexão como 0.
E funciona 😄
fonte
Eu enfrentei esse mesmo problema. Eu acredito que isso acontece quando você tem chaves estrangeiras para tabelas maiores (o que leva tempo).
Tentei executar a instrução create table novamente sem as declarações de chave estrangeira e achei que funcionava.
Depois de criar a tabela, adicionei as restrições de chave estrangeira usando a consulta ALTER TABLE.
Espero que isso ajude alguém.
fonte
Isso aconteceu comigo porque meu innodb_buffer_pool_size foi definido como maior que o tamanho da RAM disponível no servidor. As coisas estavam sendo interrompidas por causa disso e isso gera esse erro. A correção é atualizar my.cnf com a configuração correta para innodb_buffer_pool_size.
fonte
Vá para Workbench Editar → Preferências → Editor SQL → Tempo limite de leitura das conexões DBMS: até 3000. O erro não ocorreu mais.
fonte
Vamos para:
Editar -> Preferências -> Editor SQL
Lá você pode ver três campos no grupo "MySQL Session", onde agora você pode definir os novos intervalos de conexão (em segundos).
fonte
Acontece que nossa regra de firewall estava bloqueando minha conexão com o MYSQL. Depois que a política de firewall é levantada para permitir a conexão, fui capaz de importar o esquema com sucesso.
fonte
Eu tive o mesmo problema - mas para mim a solução era um usuário de banco de dados com permissões muito rígidas. Eu tive que permitir a
Execute
habilidade namysql
mesa. Depois de permitir que eu não tinha mais conexões perdidasfonte
Verifique se os índices estão no lugar primeiro.
fonte
Eu me deparei com isso enquanto executava um processo armazenado - que estava criando muitas linhas em uma tabela no banco de dados. Eu pude ver o erro logo após o tempo ultrapassar o limite de 30 segundos.
Eu tentei todas as sugestões nas outras respostas. Tenho certeza de que algumas delas ajudaram, no entanto - o que realmente fez funcionar para mim foi mudar para o SequelPro do Workbench.
Suponho que foi uma conexão do lado do cliente que não consegui detectar no Workbench. Talvez isso ajude outra pessoa também?
fonte
Se você estiver usando o SQL Work Bench, poderá tentar usar a Indexação, adicionando um índice às suas tabelas, para adicionar um índice, clique no símbolo de chave inglesa (chave inglesa) da tabela, ele deverá abrir a configuração da tabela, abaixo , clique na exibição de índice, digite um nome de índice e defina o tipo como índice. Nas colunas de índice, selecione a coluna principal em sua tabela.
Execute o mesmo passo para outras chaves primárias em outras tabelas.
fonte
Parece haver uma resposta faltando aqui para aqueles que usam SSH para se conectar ao banco de dados MySQL. Você precisa verificar dois lugares e não 1, conforme sugerido por outras respostas:
Workbench Editar → Preferências → Editor de SQL → DBMS
Workbench Editar → Preferências → SSH → Tempo Limites
Meus tempos limite de SSH padrão foram definidos muito baixos e causando alguns (mas aparentemente não todos) dos meus problemas de tempo limite. Depois, não esqueça de reiniciar o MySQL Workbench!
Por último, pode valer a pena entrar em contato com o administrador do banco de dados e pedir que ele aumente as propriedades wait_timeout e interactive_timeout no próprio mysql via my.conf + mysql restart ou faça um conjunto global se reiniciar o mysql não for uma opção.
Espero que isto ajude!
fonte
Três coisas a serem seguidas e certifique-se:
Respostas:
fonte
verifique sobre
Espero que isto ajude
fonte
Isso geralmente significa que você tem "incompatibilidades com a versão atual do MySQL Server", consulte mysql_upgrade. Encontrei esse mesmo problema e simplesmente tive que executar:
mysql_upgrade --password A documentação declara que "mysql_upgrade deve ser executado sempre que você atualizar o MySQL".
fonte