Estou tendo um monte de problemas estranhos no Magento CE 1.7.0.2. Durante as operações normais, o site ocasionalmente produz uma página de erro do Magento ( houve um erro ao processar sua solicitação ) no front-end e no back-end. Vendo o relatório associado, vejo a seguinte mensagem:
"SQLSTATE[HY000] [2006] MySQL server has gone away"
Às vezes, mas mais raramente, a mensagem do relatório será exibida:
Connection reset by peer
Eu olhei para o var> log> system.log e o MySQL has gone away
erro é acompanhado pelo seguinte:
Warning: PDO::__construct(): MySQL server has gone away in /var/www/html/domain.com/live/lib/Zend/Db/Adapter/Pdo/Abstract.php on line 129
Error while reading greeting packet. PID=1863 in /var/www/html/domain.com/live/lib/Zend/Db/Adapter/Pdo/Abstract.php on line 129
Além disso, o seguinte erro parece estar acontecendo em todas as solicitações, bem como nos MySQL has gone away
erros:
Warning: include(File.php): failed to open stream: No such file or directory in /var/www/html/domain.com/live/lib/Varien/Autoload.php on line 93
Warning: include(): Failed opening 'File.php' for inclusion
Procurei na maioria dos artigos que encontrei sobre isso e mexi nos parâmetros do banco de dados até as vacas chegarem em casa, mas o erro permanece.
Depois de seguir outro QnA sobre o compilador, percebo que a página de administração Sistema> Ferramentas> Compilação está completamente em branco. Eu acho que todos esses erros estão relacionados, mas qualquer insight sobre depuração ou causas seria muito útil.
Peço desculpas se isso é incoerente; Estou acordado há cerca de 42 horas, por isso, peça esclarecimentos. Obrigado.
- atualização -
Minha pilha de servidores para maior clareza:
PHP 5.5.4 (PHP-FPM)
Nginx 1.4.2
MySQL 5.5.33
- atualização -
Ocorre-me (depois de um sono) que eu nunca especifiquei - a base de código PHP e o MySQL db estão em servidores de hardware separados - muito importante saber se vocês vão me ajudar! Peço desculpas.
fonte
Respostas:
Isso se deve principalmente a qualquer um dos dois motivos abaixo
correção: tente aumentar a
wait_timeout
variável nomy.cnf/my.ini
arquivo de configuração do seu mysqld .correção: aumente o limite máximo do tamanho do pacote aumentando o valor de
max_allowed_packet
nomy.cnf/my.ini
arquivo.Verifique os arquivos se você estiver tentando obter algo que está demorando muito ou não é aplicável.
fonte
max_allowed_packet
a 2G ewait_timout
de 86400, ainda sem ajuda.Problema resolvido! Obrigado a todos pela ajuda. Esse foi um problema de firewall de hardware com o host da Web, mesmo depois que eles foram desativados por nós.
Conforme confirmado pela equipe de servidores da 1 & 1 , os firewalls de hardware foram configurados corretamente, mas interceptavam incorretamente o tráfego válido entre o servidor de arquivos e o servidor db em cerca de 25% do tempo.
Em vez disso, configuramos o iptables e encerramos completamente os firewalls de hardware. 100% de disponibilidade agora.
fonte
Eu experimentei o mesmo problema no Magento 2.1 e meu log de erros do mysql mostrou o seguinte erro várias vezes durante o processo "O MySQL se foi":
...[Warning] File Descriptor 1228 exceeded FD_SETSIZE=1024
Para potencialmente resolver esse problema, verifique primeiro o
open files
valor com$ ulimit -n
, que no meu caso era256
.Em segundo lugar, adicione
table_open_cache = {that ulimit -n value}
na[mysqld]
seção em seumy.cnf
.Agora reinicie o MySQL e espero que você esteja de volta à ação.
Nota: Estou executando o Magento 2.1 localmente no OS X El Capitan com PHP 7.1 e MySQL 5.7.15 com Homebrew. Mas aposto que essa solução também funcionaria em configurações antigas ou diferentes.
fonte
Edite o arquivo app / etc / local.xml na pasta Magento, substituindo a entrada do host por '127.0.0.1' em vez de 'localhost'.
fonte
Ocorreu o mesmo erro ao migrar um banco de dados grande entre 2 servidores.
Adicionar temporariamente o seguinte no arquivo de configuração do mysql (/etc/mysql/my.cnf) no meu servidor local (de destino) e reiniciar o mysql (service mysql restart) corrigiu o problema para mim:
fonte