MySQL Error – The Server Quit Without Updating PID File
O erro “The server quit without updating PID file” (O servidor saiu sem atualizar o ficheiro PID) ocorre normalmente quando o MySQL não arranca corretamente ou é encerrado inesperadamente. O ficheiro PID (Process ID) é um pequeno ficheiro utilizado pelo MySQL para manter o registo do seu ID de processo, e é normalmente armazenado no diretório de dados do MySQL. Quando o MySQL não consegue criar ou atualizar este ficheiro, isso pode indicar um problema com a configuração, permissões ou outras questões subjacentes.
Aqui está um guia para solucionar e corrigir esse erro:
Causas comuns do erro
- Configuração incorreta do MySQL: Erros no arquivo de configuração my.cnf podem fazer com que o MySQL não inicie.
- Permissões de arquivo e diretório: Propriedade ou permissões incorretas nos diretórios ou arquivos de dados do MySQL.
- Problemas de espaço em disco: Um disco cheio ou espaço limitado na partição onde o MySQL está instalado pode impedir o MySQL de iniciar.
- Tabelas MySQL corrompidas: A corrupção nos arquivos de dados do MySQL também pode levar a problemas de inicialização.
- Múltiplas Instâncias: Se várias instâncias do MySQL ou MariaDB estiverem a tentar correr em simultâneo, podem entrar em conflito umas com as outras.
Correção passo a passo do erro
- Verifique o log de erros do MySQLO log de erros geralmente fornece a maior parte das informações sobre o motivo pelo qual o MySQL não foi iniciado. Localize o registo de erros do MySQL (normalmente mysql.err ou mysqld.log):
cat /var/log/mysql/error.log
Procure por quaisquer erros específicos ou mensagens indicando porque o MySQL parou.
- Verificar a localização do arquivo PIDA mensagem de erro menciona a localização do arquivo PID. Verifique se o diretório do arquivo PID existe e se o MySQL tem permissão para escrever nele. Verifique o arquivo de configuração my.cnf para encontrar a localização esperada do arquivo PID:
sudo nano /etc/mysql/my.cnf
Procure por uma linha como:
pid-file = /var/run/mysqld/mysqld.pid
Certifique-se de que o diretório existe:
sudo mkdir -p /var/run/mysqld
Defina a propriedade apropriada:
sudo chown mysql:mysql /var/run/mysqld
- Verifique as permissões de arquivo e diretórioVerifique se o MySQL tem a propriedade e as permissões corretas para o diretório de dados e seus arquivos:
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 755 /var/lib/mysql
Isto concede ao MySQL permissões de leitura e escrita no seu próprio diretório de dados.
- Assegure-se de que há espaço suficiente em discoVerifique se há espaço livre suficiente na partição onde o MySQL está instalado:
df -h
Se o disco estiver cheio, pode ser necessário limpar algum espaço antes de reiniciar o MySQL.
- Verifique se há múltiplas instânciasSe outra instância do MySQL ou MariaDB estiver em execução, ela pode causar conflitos. Pare todas as instâncias em execução:
sudo systemctl stop mysql
sudo systemctl stop mariadb
Elimine quaisquer processos MySQL remanescentes:
sudo killall -9 mysqld
- Reparar tabelas MySQLSe o registo de erros indicar corrupção de tabelas, tente reparar as tabelas:
sudo mysqlcheck --all-databases --repair --user=root --password
Substitua root pelo seu nome de utilizador MySQL.
- Corrigir problemas de configuração do MySQLSe houver problemas com o arquivo de configuração my.cnf, tente comentar as linhas problemáticas ou reverter para a configuração padrão:
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.backup
Comente ou remova as configurações personalizadas e reinicie o MySQL:
sudo nano /etc/mysql/my.cnf
- Reiniciar o MySQLApós efetuar as alterações necessárias, tente reiniciar o MySQL:
sudo systemctl restart mysql
Ou para sistemas que usam o serviço:
sudo service mysql restart
Verifique o estado para garantir que está a funcionar:
sudo systemctl status mysql
- Reinstalar o MySQL (último recurso)Se nenhuma das etapas acima funcionar, como último recurso, você pode tentar reinstalar o MySQL. Isso pode levar à perda de dados se não houver um backup disponível, portanto, certifique-se de fazer backup de bancos de dados importantes antes de prosseguir:
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
Em seguida, reinstale o MySQL:
sudo apt-get install mysql-server
Conclusão
O erro “The server quit without updating PID file” pode ser resolvido verificando os ficheiros de configuração, verificando as permissões, assegurando espaço suficiente no disco e corrigindo quaisquer conflitos subjacentes. Seguindo os passos acima, deverá conseguir identificar a causa do erro e colocar o seu servidor MySQL novamente em funcionamento. Lembre-se sempre de fazer uma cópia de segurança das suas bases de dados antes de efetuar grandes alterações ou reinstalar o MySQL para evitar a perda de dados.