CPanel Problema Upstream: MySQL 8.0.38 does not start (Segmentation Fault)
Solução para o problema de falha de segmentação na inicialização do MySQL 8.0.38, incluindo passos para downgrade e prevenção futura.
Recentemente, MySQL 8.0.38 foi lançado upstream. Após atualizações automáticas, houve vários relatos de que o MySQL não está iniciando, resultando em uma falha de segmentação. Esse problema pode ser especialmente frustrante para administradores de sistemas e desenvolvedores que dependem da estabilidade e confiabilidade do MySQL para suas operações diárias.
Causa do Problema
A causa raiz deste problema foi identificada como um bug upstream, que afeta especificamente a versão 8.0.38 do MySQL. Esse bug provoca uma falha de segmentação ao tentar iniciar o serviço MySQL, impedindo que o banco de dados fique acessível.
Solução Temporária
Servidores Baseados em RHEL:
Para contornar este problema, é recomendável fazer downgrade para a subversão anterior do MySQL 8.0. Para isso, siga os passos abaixo:
yum downgrade mysql-community-*
Para prevenir que a atualização ocorra novamente, você pode bloquear a versão. No entanto, recomendamos remover o bloqueio uma vez que o problema upstream seja resolvido. Consulte o guia de como bloquear versões de pacotes RPM para mais detalhes.
Servidores Ubuntu:
Para servidores Ubuntu, não há um método nativo para fazer downgrade dos pacotes MySQL via comando "apt". Portanto, os pacotes precisam ser downgraded manualmente a partir do arquivo de pacotes do MySQL. Siga os passos abaixo:
- Faça login como usuário root e crie um novo diretório "mysqldown" na pasta root; mude para esse diretório:
mkdir -v /root/mysqldown && cd /root/mysqldown
- Baixe o arquivo de pacotes para a versão 8.0.37 do MySQL:
- Ubuntu 20.04:
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.0.37-1ubuntu20.04_amd64.deb-bundle.tar
- Ubuntu 22.04:
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_8.0.37-1ubuntu22.04_amd64.deb-bundle.tar
- Ubuntu 20.04:
- Extraia o arquivo de pacotes:
- Ubuntu 20.04:
tar xvf mysql-server_8.0.37-1ubuntu20.04_amd64.deb-bundle.tar
- Ubuntu 22.04:
tar xvf mysql-server_8.0.37-1ubuntu22.04_amd64.deb-bundle.tar
- Ubuntu 20.04:
- Remova os pacotes desnecessários do diretório atual:
- Ubuntu 20.04:
rm -rvf ./mysql-community-test-debug_8.0.37-1ubuntu20.04_amd64.deb ./mysql-community-test_8.0.37-1ubuntu20.04_amd64.deb ./mysql-testsuite_8.0.37-1ubuntu20.04_amd64.deb
- Ubuntu 22.04:
rm -rvf ./mysql-community-test-debug_8.0.37-1ubuntu22.04_amd64.deb ./mysql-community-test_8.0.37-1ubuntu22.04_amd64.deb ./mysql-testsuite_8.0.37-1ubuntu22.04_amd64.deb
- Ubuntu 20.04:
- Instale todos os pacotes restantes no diretório atual:
dpkg -i *mysql*.deb
- Confirme que o serviço MySQL está funcionando:
/scripts/restartsrv_mysql --status
- Para evitar que isso ocorra novamente na próxima atualização, bloqueie a versão dos pacotes com o seguinte comando:
apt-mark hold mysql-client mysql-common mysql-community-client-core mysql-community-client-plugins mysql-community-client mysql-community-server-core mysql-community-server-debug mysql-community-server mysql-server mysql-shell
Prevenção Futura
Para minimizar o impacto de problemas similares no futuro, considere adotar as seguintes práticas:
- Ambientes de Teste: Sempre teste novas atualizações em um ambiente de staging antes de aplicá-las em produção.
- Backups Regulares: Mantenha backups regulares e atualizados de seus bancos de dados para que você possa restaurar facilmente se ocorrer um problema.
- Monitoramento Ativo: Utilize ferramentas de monitoramento para acompanhar a saúde e o desempenho do seu servidor de banco de dados e detectar problemas precocemente.
Conclusão
Embora problemas como esse possam ser desafiadores, a comunidade de usuários e desenvolvedores do MySQL é robusta e proativa. Ao seguir as melhores práticas e manter-se informado sobre as atualizações, é possível mitigar o impacto de bugs críticos e garantir a continuidade das operações do seu banco de dados.
Esse conteúdo foi baseado em informações disponíveis publicamente sobre o problema específico com o MySQL 8.0.38, parafraseado e complementado com recomendações práticas. Para mais detalhes e a última atualização, consulte o artigo original.
Qual é a sua reação?