Soluciones Xampp

XAMPP MySQL não inicia? Resolva o erro em 2026 passo a passo

Se o MySQL do XAMPP se recusa a arrancar e você já tentou reiniciar o computador mil vezes, respira fundo: o problema quase sempre está na porta 3306 ocupada, num serviço zumbi do Windows ou numa configuração corrompida. Vou te mostrar como solucionar o erro do XAMPP MySQL não inicia de forma definitiva, sem enrolação e com passos que realmente funcionam no Windows 10 e 11.

Por que o MySQL do XAMPP não inicia (a raiz do problema)

Antes de sair clicando em tudo, entenda o cenário. O MySQL do XAMPP escuta na porta 3306 por padrão. Se qualquer outro programa — outro MySQL instalado, um serviço do Windows, o Workbench, ou até o Skype em versões antigas — estiver usando essa porta, o XAMPP simplesmente não sobe. É o erro mais comum e o que mais gente ignora.

Outro vilão silencioso é o arquivo ibdata1 corrompido ou o error.log com mensagens de InnoDB que não fechou direito. Quando o MySQL desliga de forma abrupta (queda de energia, travamento), ele pode deixar arquivos de recuperação que impedem o próximo start. E tem ainda o firewall do Windows bloqueando o mysqld.exe depois de uma atualização do sistema.

Dica de quem já quebrou a cabeça: 80% dos casos de XAMPP MySQL não inicia se resolvem verificando a porta 3306 e o log de erros. Comece por aí.

Passo 1: Descobrir se a porta 3306 está ocupada

Abra o Prompt de Comando como administrador e digite: netstat -ano | findstr :3306. Se aparecer algum PID listado, essa é a causa. Anote o número e rode tasklist | findstr [PID] para saber qual processo está usando a porta.

Se for um mysqld.exe antigo, mate o processo pelo Gerenciador de Tarefas. Se for outro serviço, você tem duas saídas: desinstalar o MySQL paralelo ou mudar a porta do XAMPP. Para mudar a porta, edite o arquivo my.ini na pasta C:xamppmysqlbin e troque port=3306 por port=3307. Depois reinicie o painel do XAMPP.

Ainda nessa linha, o Visualizador de Eventos do Windows ajuda. Vá em Painel de Controle > Ferramentas Administrativas > Visualizador de Eventos > Logs do Windows. Procure eventos com ID 10048 — eles indicam conflito de porta e confirmam o diagnóstico.

Passo 2: Firewall e antivírus bloqueando o mysqld.exe

Muita gente não sabe, mas o Firewall do Windows pode bloquear o MySQL silenciosamente depois de uma atualização. Vá em Painel de Controle > Sistema e Segurança > Firewall do Windows > Configurações Avançadas. Nas regras de entrada e saída, procure qualquer regra relacionada a MySQL ou mysqld e desative-a ou crie uma exceção permitindo a porta 3306.

Antivírus de terceiros (Kaspersky, Avast, Bitdefender) também adoram barrar o mysqld.exe por comportamento suspeito. Adicione a pasta C:xampp como exceção. Isso resolve o erro do XAMPP MySQL não inicia em muitos casos que parecem misteriosos.

Passo 3: Ler o log de erros (onde está a verdade)

Nada substitui ler o log. Vá em C:xamppmysqldata e abra o arquivo mysql_error.log (ou apenas error.log em versões mais novas). As mensagens mais comuns são:

  • InnoDB: Unable to lock ./ibdata1 — indica que outro processo já está com os arquivos abertos. Mate o processo e tente de novo.
  • Can’t start server: Bind on TCP/IP port — confirma conflito de porta.
  • Table ‘mysql.plugin’ doesn’t exist — pasta data corrompida, precisa restaurar backup ou reinstalar o MySQL.
  • InnoDB: Database page corruption — corrupção de dados. Você pode tentar recuperar com innodb_force_recovery = 1 no my.ini, incrementando até 6 se necessário.

Se o log estiver vazio, apague-o (ou renomeie) e tente iniciar de novo. O MySQL recria o arquivo na hora e você vê o erro exato.

Passo 4: Limpar arquivos temporários e travar o InnoDB

Quando o XAMPP MySQL não inicia depois de um desligamento abrupto, os arquivos ib_logfile0 e ib_logfile1 podem estar travados. Renomeie os dois para ib_logfile0.bak e ib_logfile1.bak, e inicie o MySQL. Ele vai recriar os logs do zero. Só faça isso se tiver backup, porque há risco de perda de dados em casos extremos.

Outra alternativa é rodar o XAMPP como administrador. Clique com o botão direito no ícone do painel e escolha “Executar como administrador”. Parece bobo, mas resolve permissões de escrita nas pastas do MySQL.

Passo 5: Reinstalar sem perder seus bancos

Se nada acima funcionou, o caminho é reinstalar o MySQL do XAMPP. Antes, copie a pasta C:xamppmysqldata inteira para um pendrive ou nuvem. Depois desinstale o XAMPP, baixe a versão mais recente (a 8.2.x com PHP 8.2 é a recomendada em 2026) e reinstale. Cole de volta a pasta data e inicie. Seus bancos voltam intactos na maioria dos casos.

Vale lembrar: versões antigas do XAMPP (7.x) têm bugs conhecidos com o MySQL 8 e Windows 11. Se você está preso numa versão velha, atualizar resolve mais do que qualquer truque.

Como evitar que o erro volte

Sempre pare o MySQL pelo painel do XAMPP antes de desligar o PC. Nunca feche o painel à força. E mantenha um backup semanal da pasta data — isso salva vidas. Com esses hábitos, o problema de XAMPP MySQL não inicia praticamente desaparece do seu dia a dia.

Se seguiu todos os passos e mesmo assim nada, o problema pode ser hardware (disco com setores defeituosos) ou uma instalação corrompida do próprio Windows. Aí já vale rodar um chkdsk e um sfc /scannow no Prompt como administrador antes de culpar o XAMPP.