{"id":17180,"date":"2026-08-08T20:28:42","date_gmt":"2026-08-08T23:28:42","guid":{"rendered":"https:\/\/www.homehost.com.br\/blog\/?p=17180"},"modified":"2026-08-08T20:28:53","modified_gmt":"2026-08-08T23:28:53","slug":"mysql-shutdown-unexpectedly","status":"publish","type":"post","link":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/","title":{"rendered":"Error: MySQL shutdown unexpectedly \u2014 como resolver no XAMPP"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Se o XAMPP mostra <code>Error: MySQL shutdown unexpectedly<\/code> em vermelho, o servi\u00e7o tentou iniciar e falhou. Na maioria dos casos a causa \u00e9 uma s\u00f3: arquivos do banco corrompidos por um desligamento abrupto \u2014 o computador que travou, a queda de energia, ou o XAMPP fechado sem parar o MySQL antes. As outras causas frequentes s\u00e3o a porta 3306 ocupada por outro programa e a falta do Visual C++ Redistributable no Windows.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de seguir qualquer tutorial, um aviso que vale mais que todos os passos: <strong>fa\u00e7a uma c\u00f3pia da pasta <code>xampp\/mysql\/data<\/code> agora<\/strong>, antes de mexer em qualquer coisa. A maior parte das solu\u00e7\u00f5es que circulam pede para apagar ou renomear arquivos dessa pasta \u2014 e \u00e9 onde est\u00e3o os seus bancos.<\/p>\n\n\n\n<div style=\"border:1px solid #c7dcfa; border-left:4px solid #1a73e8; background:#f2f7fe; border-radius:8px; padding:18px 22px; margin:24px 0; font-family:Arial, Helvetica, sans-serif;\">\n<div style=\"font-weight:700; color:#0b3d91; margin-bottom:6px; text-transform:uppercase; letter-spacing:.05em; font-size:14px;\">Resposta r\u00e1pida<\/div>\n<p style=\"color:#0b3d91; line-height:1.65; margin:0 0 10px;\"><strong>Antes de tudo:<\/strong> copie a pasta <code>xampp\/mysql\/data<\/code> para outro lugar. Depois abra o log em <code>xampp\/mysql\/data\/mysql_error.log<\/code> \u2014 ele diz a causa exata.<\/p>\n<table style=\"width:100%; border-collapse:collapse; margin-top:4px; font-size:14px; color:#0b3d91;\">\n<tr><td style=\"padding:5px 8px; vertical-align:top;\"><strong>Aconteceu depois de um travamento<\/strong><\/td><td style=\"padding:5px 8px;\">Arquivos InnoDB corrompidos \u2014 a causa n\u00ba 1<\/td><\/tr>\n<tr><td style=\"padding:5px 8px; vertical-align:top;\"><strong>Log fala em porta ou <code>bind<\/code><\/strong><\/td><td style=\"padding:5px 8px;\">Outro programa ocupa a 3306<\/td><\/tr>\n<tr><td style=\"padding:5px 8px; vertical-align:top;\"><strong>Instalou o XAMPP agora<\/strong><\/td><td style=\"padding:5px 8px;\">Falta o Visual C++ Redistributable<\/td><\/tr>\n<tr><td style=\"padding:5px 8px; vertical-align:top;\"><strong>Log fala em <code>permission<\/code> ou <code>access denied<\/code><\/strong><\/td><td style=\"padding:5px 8px;\">Rode o XAMPP como administrador<\/td><\/tr>\n<\/table>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><div id=\"ez-toc-container\" class=\"ez-toc-v2_0_72 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Conte\u00fado<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#O_que_a_mensagem_significa\" title=\"O que a mensagem significa\">O que a mensagem significa<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Antes_de_qualquer_correcao_copie_a_pasta_data\" title=\"Antes de qualquer corre\u00e7\u00e3o: copie a pasta data\">Antes de qualquer corre\u00e7\u00e3o: copie a pasta data<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Passo_1_leia_o_log_de_erro\" title=\"Passo 1: leia o log de erro\">Passo 1: leia o log de erro<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Causa_1_arquivos_InnoDB_corrompidos\" title=\"Causa 1: arquivos InnoDB corrompidos\">Causa 1: arquivos InnoDB corrompidos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Causa_2_a_porta_3306_esta_ocupada\" title=\"Causa 2: a porta 3306 est\u00e1 ocupada\">Causa 2: a porta 3306 est\u00e1 ocupada<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Causa_3_falta_o_Visual_C_Redistributable\" title=\"Causa 3: falta o Visual C++ Redistributable\">Causa 3: falta o Visual C++ Redistributable<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Causa_4_permissoes_insuficientes\" title=\"Causa 4: permiss\u00f5es insuficientes\">Causa 4: permiss\u00f5es insuficientes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Causa_5_antivirus_ou_outro_processo_travando_arquivos\" title=\"Causa 5: antiv\u00edrus ou outro processo travando arquivos\">Causa 5: antiv\u00edrus ou outro processo travando arquivos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Causa_6_disco_cheio\" title=\"Causa 6: disco cheio\">Causa 6: disco cheio<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Como_recuperar_seus_bancos_quando_nada_funciona\" title=\"Como recuperar seus bancos quando nada funciona\">Como recuperar seus bancos quando nada funciona<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Como_evitar_que_aconteca_de_novo\" title=\"Como evitar que aconte\u00e7a de novo\">Como evitar que aconte\u00e7a de novo<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Perguntas_frequentes\" title=\"Perguntas frequentes\">Perguntas frequentes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Veja_tambem\" title=\"Veja tamb\u00e9m\">Veja tamb\u00e9m<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#Conclusao\" title=\"Conclus\u00e3o\">Conclus\u00e3o<\/a><\/li><\/ul><\/nav><\/div>\n<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_que_a_mensagem_significa\"><\/span>O que a mensagem significa<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O painel do XAMPP exibe algo assim:<\/p>\n\n\n\n<div style=\"background:#0b3d91; border-radius:8px; padding:16px 18px; margin:18px 0; font-family:'Courier New', Courier, monospace; overflow-x:auto;\">\n<code style=\"color:#f1f5f9; font-size:13.5px; line-height:1.8;\">\nError: MySQL shutdown unexpectedly.<br>\nThis may be due to a blocked port, missing dependencies,<br>\nimproper privileges, a crash, or a shutdown by another method.\n<\/code>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">A pr\u00f3pria mensagem lista cinco possibilidades \u2014 porta bloqueada, depend\u00eancias faltando, permiss\u00f5es, travamento, ou desligamento por outro meio. \u00c9 uma mensagem gen\u00e9rica: o XAMPP percebeu que o processo morreu, mas n\u00e3o sabe por qu\u00ea.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/xampp-error-mysql-shutdown-unexpectedly-1024x655.png\" alt=\"Painel de controle do XAMPP exibindo a mensagem Error: MySQL shutdown unexpectedly em vermelho\" class=\"wp-image-17182\" width=\"1024\" height=\"655\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/xampp-error-mysql-shutdown-unexpectedly-1024x655.png 1024w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/xampp-error-mysql-shutdown-unexpectedly-300x192.png 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/xampp-error-mysql-shutdown-unexpectedly-768x491.png 768w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/xampp-error-mysql-shutdown-unexpectedly-1536x983.png 1536w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/xampp-error-mysql-shutdown-unexpectedly.png 1568w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Quem sabe \u00e9 o log.<\/strong> E \u00e9 justamente ele que a maioria dos tutoriais pula.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Um detalhe que confunde: <strong>as vers\u00f5es atuais do XAMPP n\u00e3o incluem MySQL, e sim MariaDB<\/strong> \u2014 o fork criado pelos desenvolvedores originais. O painel continua chamando de &#8220;MySQL&#8221; por compatibilidade, mas o que roda ali \u00e9 MariaDB. Na pr\u00e1tica, o comportamento e as solu\u00e7\u00f5es s\u00e3o os mesmos. Nosso guia sobre <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/o-que-e-mysql\/\">o que \u00e9 MySQL<\/a> explica a diferen\u00e7a entre os dois.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Antes_de_qualquer_correcao_copie_a_pasta_data\"><\/span>Antes de qualquer corre\u00e7\u00e3o: copie a pasta data<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Este passo n\u00e3o \u00e9 opcional, e \u00e9 o motivo de tanta gente perder o trabalho de meses.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>V\u00e1 at\u00e9 <code>C:\\xampp\\mysql\\<\/code> e copie a pasta <code>data<\/code> inteira<\/strong> para a \u00e1rea de trabalho, um pendrive, ou qualquer lugar fora do XAMPP. Dentro dela est\u00e3o todos os seus bancos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Boa parte das solu\u00e7\u00f5es que voc\u00ea vai encontrar \u2014 inclusive as deste artigo \u2014 envolve renomear, substituir ou apagar arquivos dessa pasta. Se algo der errado no processo e voc\u00ea n\u00e3o tiver a c\u00f3pia, <strong>n\u00e3o h\u00e1 como voltar atr\u00e1s<\/strong>.<\/p>\n\n\n\n<div style=\"border:1px solid #f0d9a8; border-left:4px solid #e0a800; background:#fffaf0; border-radius:8px; padding:18px 22px; margin:24px 0; font-family:Arial, Helvetica, sans-serif;\">\n<div style=\"font-weight:700; color:#8a6d00; margin-bottom:6px; text-transform:uppercase; letter-spacing:.05em; font-size:14px;\">&#x26a0;&#xfe0f; A pasta &#8220;backup&#8221; do XAMPP n\u00e3o \u00e9 o seu backup<\/div>\n<p style=\"color:#8a6d00; line-height:1.65; margin:0;\">Existe uma pasta <code>xampp\/mysql\/backup<\/code>, e v\u00e1rios tutoriais mandam copi\u00e1-la para <code>data<\/code> como solu\u00e7\u00e3o. Funciona para fazer o MySQL iniciar \u2014 mas entenda o que ela \u00e9: uma c\u00f3pia das <strong>tabelas de sistema do momento da instala\u00e7\u00e3o<\/strong>, n\u00e3o dos seus dados. Restaur\u00e1-la faz o servi\u00e7o subir com os bancos vazios. Os seus bancos continuam na pasta antiga, e precisam ser recuperados de l\u00e1 num segundo passo.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Passo_1_leia_o_log_de_erro\"><\/span>Passo 1: leia o log de erro<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 o que separa uma corre\u00e7\u00e3o de dez minutos de uma tarde inteira tentando solu\u00e7\u00f5es aleat\u00f3rias.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pelo painel do XAMPP:<\/strong> clique no bot\u00e3o <strong>Logs<\/strong> na linha do MySQL e escolha <code>mysql_error.log<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pelo Explorador de Arquivos:<\/strong> abra <code><strong>C:\\xampp\\mysql\\data\\mysql_error.log<\/strong><\/code> no Bloco de Notas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Role at\u00e9 o fim do arquivo<\/strong> \u2014 as \u00faltimas linhas s\u00e3o da tentativa mais recente. O que voc\u00ea encontrar ali diz o que fazer.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-error-log-xampp-1-1024x571.png\" alt=\"Arquivo mysql_error.log do XAMPP aberto, mostrando a linha de erro do InnoDB nas \u00faltimas linhas\" class=\"wp-image-17184\" width=\"1024\" height=\"571\" srcset=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-error-log-xampp-1-1024x571.png 1024w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-error-log-xampp-1-300x167.png 300w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-error-log-xampp-1-768x428.png 768w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-error-log-xampp-1-1536x856.png 1536w, https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-error-log-xampp-1.png 1680w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"overflow-x:auto; margin:24px 0;\">\n<table style=\"width:100%; border-collapse:collapse; font-family:Arial, Helvetica, sans-serif; font-size:14.5px; min-width:660px;\">\n<thead>\n<tr style=\"background-color:#1a73e8; color:#ffffff; text-align:left;\">\n<th style=\"padding:12px 14px; border:1px solid #1a73e8;\">O que aparece no log<\/th>\n<th style=\"padding:12px 14px; border:1px solid #1a73e8;\">Causa<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color:#f7fafd;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><code>InnoDB: Database page corruption<\/code><br><code>InnoDB: Assertion failure<\/code><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Arquivos InnoDB corrompidos \u2014 desligamento abrupto<\/td>\n<\/tr>\n<tr style=\"background-color:#ffffff;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><code>Can't start server: Bind on TCP\/IP port<\/code><br><code>Address already in use<\/code><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Porta 3306 ocupada por outro programa<\/td>\n<\/tr>\n<tr style=\"background-color:#f7fafd;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><code>Can't create\/write to file<\/code><br><code>Permission denied<\/code><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Permiss\u00f5es \u2014 rode como administrador<\/td>\n<\/tr>\n<tr style=\"background-color:#ffffff;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><code>Table 'mysql.user' doesn't exist<\/code><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Tabelas de sistema faltando ou corrompidas<\/td>\n<\/tr>\n<tr style=\"background-color:#f7fafd;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><code>InnoDB: Operating system error number 32<\/code><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">Arquivo travado por outro processo ou antiv\u00edrus<\/td>\n<\/tr>\n<tr style=\"background-color:#ffffff;\">\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\"><strong>O log est\u00e1 vazio ou n\u00e3o existe<\/strong><\/td>\n<td style=\"padding:11px 14px; border:1px solid #dde6ef;\">O processo nem chegou a iniciar \u2014 provavelmente falta o Visual C++<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Causa_1_arquivos_InnoDB_corrompidos\"><\/span>Causa 1: arquivos InnoDB corrompidos<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A mais comum, e a que quase sempre aparece depois de um travamento do Windows, uma queda de energia, ou de fechar o XAMPP sem parar o MySQL antes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O InnoDB \u2014 o motor de armazenamento padr\u00e3o \u2014 guarda o dicion\u00e1rio de dados num arquivo chamado <code>ibdata1<\/code> e os logs de transa\u00e7\u00e3o em <code>ib_logfile0<\/code> e <code>ib_logfile1<\/code>. Se o processo \u00e9 interrompido no meio de uma escrita, esses arquivos ficam inconsistentes e o servi\u00e7o se recusa a subir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>O procedimento, na ordem:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Confirme que voc\u00ea copiou a pasta <code>data<\/code><\/strong> para fora do XAMPP<\/li>\n\n\n\n<li>Renomeie <code>xampp\/mysql\/data<\/code> para <code>data_old<\/code><\/li>\n\n\n\n<li>Crie uma pasta nova chamada <code>data<\/code><\/li>\n\n\n\n<li>Copie <strong>todo o conte\u00fado<\/strong> de <code>xampp\/mysql\/backup<\/code> para dentro da nova <code>data<\/code><\/li>\n\n\n\n<li>De <code>data_old<\/code>, copie <strong>as pastas dos seus bancos<\/strong> (cada banco \u00e9 uma pasta com o nome dele) para a nova <code>data<\/code> \u2014 mas <strong>n\u00e3o<\/strong> copie as pastas <code>mysql<\/code>, <code>performance_schema<\/code> e <code>phpmyadmin<\/code><\/li>\n\n\n\n<li>De <code>data_old<\/code>, copie tamb\u00e9m o arquivo <strong><code>ibdata1<\/code><\/strong> para a nova <code>data<\/code><\/li>\n\n\n\n<li>Inicie o MySQL pelo painel<\/li>\n<\/ol>\n\n\n\n<div style=\"border:1px solid #f0d9a8; border-left:4px solid #e0a800; background:#fffaf0; border-radius:8px; padding:18px 22px; margin:24px 0; font-family:Arial, Helvetica, sans-serif;\">\n<div style=\"font-weight:700; color:#8a6d00; margin-bottom:6px; text-transform:uppercase; letter-spacing:.05em; font-size:14px;\">&#x26a0;&#xfe0f; Por que o passo 6 \u00e9 o mais delicado<\/div>\n<p style=\"color:#8a6d00; line-height:1.65; margin:0 0 10px;\">O <code>ibdata1<\/code> guarda o <strong>dicion\u00e1rio<\/strong> das tabelas InnoDB \u2014 a lista do que existe e onde est\u00e1. Os dados em si ficam nos arquivos <code>.ibd<\/code> dentro das pastas de cada banco. Os dois precisam ser da <strong>mesma origem<\/strong>: se voc\u00ea copiar o <code>ibdata1<\/code> antigo e esquecer os <code>.ibd<\/code>, ou o contr\u00e1rio, o InnoDB encontra uma refer\u00eancia para algo que n\u00e3o existe e falha.<\/p>\n<p style=\"color:#8a6d00; line-height:1.65; margin:0;\">E se o <code>ibdata1<\/code> for justamente o arquivo corrompido, copi\u00e1-lo reproduz o problema na pasta nova. Nesse caso, o servi\u00e7o sobe sem ele \u2014 mas os bancos InnoDB ficam inacess\u00edveis, e a recupera\u00e7\u00e3o exige um caminho diferente, descrito mais abaixo.<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Se o servi\u00e7o subir, confira imediatamente<\/strong> se os seus bancos aparecem no phpMyAdmin. N\u00e3o basta o MySQL iniciar: \u00e9 preciso que os dados estejam l\u00e1.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Causa_2_a_porta_3306_esta_ocupada\"><\/span>Causa 2: a porta 3306 est\u00e1 ocupada<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">O MySQL n\u00e3o consegue iniciar se outro programa j\u00e1 est\u00e1 escutando na porta dele. Os suspeitos habituais s\u00e3o um <strong>MySQL instalado separadamente<\/strong> (fora do XAMPP), o <strong>WAMP<\/strong>, o <strong>Laragon<\/strong>, ou uma inst\u00e2ncia antiga que n\u00e3o encerrou.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Como confirmar<\/strong>, no Prompt de Comando:<\/p>\n\n\n\n<div style=\"background:#0b3d91; border-radius:8px; padding:16px 18px; margin:18px 0; font-family:'Courier New', Courier, monospace; overflow-x:auto;\">\n<code style=\"color:#f1f5f9; font-size:13.5px; line-height:1.8;\">\nnetstat -ano | findstr :3306\n<\/code>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Se aparecer alguma linha, a porta est\u00e1 ocupada \u2014 e o \u00faltimo n\u00famero \u00e9 o PID do processo. Voc\u00ea identifica quem \u00e9 no Gerenciador de Tarefas, na aba Detalhes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Duas sa\u00eddas:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Encerrar o outro programa.<\/strong> Se for um servi\u00e7o do Windows, abra <code>services.msc<\/code>, procure por MySQL ou MariaDB, e pare o servi\u00e7o. Se for outro ambiente local, feche-o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ou mudar a porta do XAMPP.<\/strong> No painel, clique em <strong>Config<\/strong> na linha do MySQL e abra o <code>my.ini<\/code>. Troque as duas ocorr\u00eancias de <code>port=3306<\/code> para <code>port=3307<\/code>, salve e reinicie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se mudar a porta, lembre que as aplica\u00e7\u00f5es precisam saber disso \u2014 no WordPress, o <code>DB_HOST<\/code> passa a ser <code>localhost:3307<\/code>. Nosso guia sobre a <a href=\"https:\/\/www.homehost.com.br\/blog\/internet\/porta-3306\/\">porta 3306<\/a> explica o funcionamento e como testar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Causa_3_falta_o_Visual_C_Redistributable\"><\/span>Causa 3: falta o Visual C++ Redistributable<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Causa frequente em instala\u00e7\u00e3o nova do XAMPP no Windows, e praticamente invis\u00edvel: <strong>o log fica vazio<\/strong>, porque o processo nem chega a iniciar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O MySQL do XAMPP depende das bibliotecas do <strong>Microsoft Visual C++ Redistributable<\/strong>. Sem elas, ele falha silenciosamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Como verificar:<\/strong> abra <strong>Painel de Controle \u2192 Programas e Recursos<\/strong> e procure por &#8220;Microsoft Visual C++ 2015-2022 Redistributable (x64)&#8221;. Se n\u00e3o estiver na lista, baixe do site oficial da Microsoft, instale, reinicie o computador e tente novamente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Causa_4_permissoes_insuficientes\"><\/span>Causa 4: permiss\u00f5es insuficientes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se o log menciona <code>Permission denied<\/code> ou <code>Can't create\/write to file<\/code>, o XAMPP n\u00e3o tem permiss\u00e3o para escrever na pr\u00f3pria pasta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Primeiro teste:<\/strong> feche o XAMPP, clique com o bot\u00e3o direito no atalho e escolha <strong>Executar como administrador<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se resolver, vale tornar permanente: bot\u00e3o direito no <code>xampp-control.exe<\/code> \u2192 Propriedades \u2192 Compatibilidade \u2192 marcar <strong>Executar este programa como administrador<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Uma causa relacionada:<\/strong> o XAMPP instalado em <code>C:\\Program Files<\/code> costuma dar esse problema, porque o Windows protege essa pasta. A instala\u00e7\u00e3o recomendada \u00e9 direto em <code>C:\\xampp<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Causa_5_antivirus_ou_outro_processo_travando_arquivos\"><\/span>Causa 5: antiv\u00edrus ou outro processo travando arquivos<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se o log traz <code>Operating system error number 32<\/code> \u2014 &#8220;arquivo em uso por outro processo&#8221; \u2014, algo est\u00e1 segurando os arquivos do banco.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Antiv\u00edrus<\/strong> \u00e9 o suspeito mais comum: alguns fazem varredura em tempo real dentro da pasta <code>data<\/code> e travam o <code>ibdata1<\/code> no momento em que o MySQL tenta abri-lo. A solu\u00e7\u00e3o \u00e9 adicionar <code>C:\\xampp<\/code> \u00e0 lista de exclus\u00f5es do antiv\u00edrus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Um processo <code>mysqld.exe<\/code> \u00f3rf\u00e3o<\/strong> tamb\u00e9m causa isso. Abra o Gerenciador de Tarefas, procure por <code>mysqld.exe<\/code> na aba Detalhes, e finalize o processo antes de tentar de novo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Causa_6_disco_cheio\"><\/span>Causa 6: disco cheio<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Simples e frequentemente esquecida: o MySQL precisa de espa\u00e7o para os logs de transa\u00e7\u00e3o, e se o disco est\u00e1 cheio ele n\u00e3o inicia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Verifique o espa\u00e7o livre na unidade onde o XAMPP est\u00e1 instalado. Menos de 1 GB j\u00e1 \u00e9 motivo de preocupa\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Como_recuperar_seus_bancos_quando_nada_funciona\"><\/span>Como recuperar seus bancos quando nada funciona<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se o servi\u00e7o subiu mas os bancos n\u00e3o aparecem, ou se o <code>ibdata1<\/code> estava corrompido, a recupera\u00e7\u00e3o depende do motor de armazenamento das tabelas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tabelas MyISAM<\/strong> s\u00e3o autocontidas: cada uma tem tr\u00eas arquivos \u2014 <code>.frm<\/code>, <code>.MYD<\/code> e <code>.MYI<\/code> \u2014 dentro da pasta do banco. Copi\u00e1-los para a instala\u00e7\u00e3o nova costuma funcionar, mesmo sem o <code>ibdata1<\/code> original.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tabelas InnoDB n\u00e3o s\u00e3o.<\/strong> Os dados ficam em arquivos <code>.ibd<\/code>, mas a estrutura que diz como l\u00ea-los est\u00e1 no <code>ibdata1<\/code>. Sem o <code>ibdata1<\/code> correspondente, os <code>.ibd<\/code> sozinhos n\u00e3o s\u00e3o recuper\u00e1veis pelos meios normais.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Um \u00faltimo recurso<\/strong> \u00e9 iniciar o MySQL em modo de recupera\u00e7\u00e3o. No <code>my.ini<\/code>, na se\u00e7\u00e3o <code>[mysqld]<\/code>, acrescente:<\/p>\n\n\n\n<div style=\"background:#0b3d91; border-radius:8px; padding:16px 18px; margin:18px 0; font-family:'Courier New', Courier, monospace; overflow-x:auto;\">\n<code style=\"color:#f1f5f9; font-size:13.5px; line-height:1.8;\">\ninnodb_force_recovery = 1\n<\/code>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Salve e tente iniciar. Se n\u00e3o subir, aumente o n\u00famero gradualmente at\u00e9 6 \u2014 mas <strong>saiba que a partir do n\u00edvel 4 o processo pode causar perda de dados<\/strong>. Assim que o servi\u00e7o subir, <strong>exporte tudo imediatamente<\/strong> pelo phpMyAdmin, remova a linha do <code>my.ini<\/code>, e reinstale o XAMPP do zero para importar os dados de volta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ao exportar, aten\u00e7\u00e3o ao charset: nosso guia sobre <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/acentuacao-mysql-utf8\/\">acentua\u00e7\u00e3o quebrada no MySQL<\/a> mostra como n\u00e3o perder os acentos no processo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Como_evitar_que_aconteca_de_novo\"><\/span>Como evitar que aconte\u00e7a de novo<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Quase todos os casos v\u00eam do mesmo comportamento \u2014 e a preven\u00e7\u00e3o \u00e9 simples:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pare o MySQL antes de desligar o computador.<\/strong> No painel do XAMPP, clique em <strong>Stop<\/strong> na linha do MySQL e espere o indicador apagar. Fechar o painel ou desligar a m\u00e1quina com o servi\u00e7o rodando \u00e9 o que corrompe os arquivos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Fa\u00e7a backup dos bancos regularmente.<\/strong> Exportar pelo phpMyAdmin leva segundos e \u00e9 a \u00fanica garantia real \u2014 nosso guia sobre <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/como-fazer-um-backup-do-banco-de-dados-mysql-usando-phpmyadmin\/\">backup pelo phpMyAdmin<\/a> mostra o processo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Exclua a pasta do XAMPP do antiv\u00edrus<\/strong>, para evitar travamento de arquivos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>N\u00e3o instale o XAMPP em <code>C:\\Program Files<\/code>.<\/strong><\/p>\n\n\n\n<div style=\"max-width:760px; margin:32px auto; background:linear-gradient(135deg,#1a73e8 0%,#0b3d91 100%); border-radius:16px; padding:32px 28px; font-family:Arial, Helvetica, sans-serif; color:#fff; box-shadow:0 10px 30px rgba(26,115,232,.25);\">\n<div style=\"display:flex; align-items:flex-start; gap:16px; flex-wrap:wrap;\">\n<div style=\"flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:12px; background:rgba(255,255,255,.18);\">\n<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z\"><\/path><\/svg>\n<\/div>\n<div style=\"flex:1 1 320px; min-width:260px;\">\n<div style=\"font-weight:800; line-height:1.25; margin-bottom:8px; font-size:19px;\">Terminou o projeto? Coloque no ar<\/div>\n<p style=\"margin:0 0 18px; line-height:1.6; color:#dbe7fb;\">O XAMPP \u00e9 \u00f3timo para estudar, mas s\u00f3 funciona com o seu computador ligado \u2014 e o banco corrompe quando ele desliga errado. Na Homehost, o MySQL j\u00e1 vem rodando, com phpMyAdmin no painel, backup autom\u00e1tico e servidor no Brasil. A partir de R$ 7,90\/m\u00eas.<\/p>\n<a href=\"https:\/\/www.homehost.com.br\/hospedagem-de-sites\/\" style=\"display:inline-flex; align-items:center; gap:8px; background:#fff; color:#1a73e8; font-weight:700; text-decoration:none; padding:13px 26px; border-radius:10px; box-shadow:0 4px 12px rgba(0,0,0,.15);\">\nVer planos de hospedagem\n<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#1a73e8\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 12h14M13 6l6 6-6 6\"><\/path><\/svg>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Perguntas_frequentes\"><\/span>Perguntas frequentes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>O que significa &#8220;Error: MySQL shutdown unexpectedly&#8221;?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Significa que o XAMPP tentou iniciar o servi\u00e7o do MySQL e o processo terminou antes de ficar pronto. \u00c9 uma mensagem gen\u00e9rica \u2014 a causa exata est\u00e1 no arquivo <code>mysql_error.log<\/code>, dentro de <code>xampp\/mysql\/data<\/code>. As causas mais comuns s\u00e3o arquivos corrompidos por desligamento abrupto, porta 3306 ocupada e falta do Visual C++ Redistributable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Vou perder meus bancos de dados?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o necessariamente, e o mais importante \u00e9 agir com calma: <strong>copie a pasta <code>xampp\/mysql\/data<\/code> para outro lugar antes de tentar qualquer corre\u00e7\u00e3o<\/strong>. Os seus bancos est\u00e3o ali. A maioria das solu\u00e7\u00f5es envolve renomear ou substituir arquivos dessa pasta, e sem a c\u00f3pia n\u00e3o h\u00e1 como voltar atr\u00e1s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Posso apagar a pasta data para resolver?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o apague \u2014 <strong>renomeie<\/strong>. Renomear para <code>data_old<\/code> produz o mesmo efeito de &#8220;come\u00e7ar do zero&#8221;, mas preserva os seus bancos para recupera\u00e7\u00e3o depois. Apagar \u00e9 definitivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A pasta backup do XAMPP restaura meus dados?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o. A pasta <code>xampp\/mysql\/backup<\/code> cont\u00e9m apenas as tabelas de sistema do momento da instala\u00e7\u00e3o \u2014 ela faz o servi\u00e7o iniciar, mas com os bancos vazios. Seus dados continuam na pasta <code>data<\/code> antiga e precisam ser copiados de l\u00e1 separadamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Por que o erro aconteceu do nada?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quase sempre porque o MySQL n\u00e3o foi encerrado corretamente na \u00faltima vez: o computador travou, faltou energia, ou o XAMPP foi fechado com o servi\u00e7o rodando. O InnoDB interrompido no meio de uma escrita deixa os arquivos inconsistentes, e na pr\u00f3xima inicializa\u00e7\u00e3o o servi\u00e7o se recusa a subir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Como sei se a porta 3306 est\u00e1 ocupada?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No Prompt de Comando, rode <code>netstat -ano | findstr :3306<\/code>. Se aparecer alguma linha, h\u00e1 um processo usando a porta \u2014 o \u00faltimo n\u00famero \u00e9 o PID, que voc\u00ea identifica no Gerenciador de Tarefas. Os culpados mais comuns s\u00e3o um MySQL instalado separadamente, o WAMP ou o Laragon.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>O que \u00e9 o arquivo ibdata1?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 onde o InnoDB guarda o dicion\u00e1rio de dados \u2014 a estrutura que diz quais tabelas existem e como l\u00ea-las. Os dados em si ficam nos arquivos <code>.ibd<\/code>. Os dois precisam ser da mesma origem: copiar um sem o outro faz o InnoDB falhar, porque encontra refer\u00eancias para algo que n\u00e3o existe.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>O XAMPP usa MySQL ou MariaDB?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As vers\u00f5es atuais incluem MariaDB, o fork criado pelos desenvolvedores originais do MySQL depois da compra pela Oracle. O painel continua exibindo &#8220;MySQL&#8221; por compatibilidade. Na pr\u00e1tica, os comandos, o phpMyAdmin e as solu\u00e7\u00f5es para este erro s\u00e3o os mesmos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Devo usar innodb_force_recovery?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00f3 como \u00faltimo recurso, e com cuidado. Comece no n\u00edvel 1 e aumente gradualmente \u2014 a partir do n\u00edvel 4, o processo pode causar perda de dados. Assim que o servi\u00e7o subir, exporte tudo imediatamente, remova a linha do <code>my.ini<\/code> e reinstale o XAMPP para importar os dados de volta.<\/p>\n\n\n\n<script type=\"application\/ld+json\">\n{\n\"@context\": \"https:\/\/schema.org\",\n\"@type\": \"FAQPage\",\n\"mainEntity\": [\n{\"@type\":\"Question\",\"name\":\"O que significa Error: MySQL shutdown unexpectedly?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Significa que o XAMPP tentou iniciar o servi\u00e7o do MySQL e o processo terminou antes de ficar pronto. \u00c9 uma mensagem gen\u00e9rica, e a causa exata est\u00e1 no arquivo mysql_error.log, dentro de xampp\/mysql\/data. As causas mais comuns s\u00e3o arquivos corrompidos por desligamento abrupto, porta 3306 ocupada e falta do Visual C++ Redistributable.\"}},\n{\"@type\":\"Question\",\"name\":\"Vou perder meus bancos de dados?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"N\u00e3o necessariamente, e o mais importante \u00e9 agir com calma: copie a pasta xampp\/mysql\/data para outro lugar antes de tentar qualquer corre\u00e7\u00e3o. Os seus bancos est\u00e3o ali. A maioria das solu\u00e7\u00f5es envolve renomear ou substituir arquivos dessa pasta, e sem a c\u00f3pia n\u00e3o h\u00e1 como voltar atr\u00e1s.\"}},\n{\"@type\":\"Question\",\"name\":\"Posso apagar a pasta data para resolver?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"N\u00e3o apague, renomeie. Renomear para data_old produz o mesmo efeito de come\u00e7ar do zero, mas preserva os seus bancos para recupera\u00e7\u00e3o depois. Apagar \u00e9 definitivo.\"}},\n{\"@type\":\"Question\",\"name\":\"A pasta backup do XAMPP restaura meus dados?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"N\u00e3o. A pasta xampp\/mysql\/backup cont\u00e9m apenas as tabelas de sistema do momento da instala\u00e7\u00e3o. Ela faz o servi\u00e7o iniciar, mas com os bancos vazios. Seus dados continuam na pasta data antiga e precisam ser copiados de l\u00e1 separadamente.\"}},\n{\"@type\":\"Question\",\"name\":\"Por que o erro aconteceu do nada?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Quase sempre porque o MySQL n\u00e3o foi encerrado corretamente na \u00faltima vez: o computador travou, faltou energia, ou o XAMPP foi fechado com o servi\u00e7o rodando. O InnoDB interrompido no meio de uma escrita deixa os arquivos inconsistentes, e na pr\u00f3xima inicializa\u00e7\u00e3o o servi\u00e7o se recusa a subir.\"}},\n{\"@type\":\"Question\",\"name\":\"Como sei se a porta 3306 est\u00e1 ocupada?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No Prompt de Comando, rode netstat -ano seguido de findstr :3306. Se aparecer alguma linha, h\u00e1 um processo usando a porta, e o \u00faltimo n\u00famero \u00e9 o PID, que voc\u00ea identifica no Gerenciador de Tarefas. Os culpados mais comuns s\u00e3o um MySQL instalado separadamente, o WAMP ou o Laragon.\"}},\n{\"@type\":\"Question\",\"name\":\"O que \u00e9 o arquivo ibdata1?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"\u00c9 onde o InnoDB guarda o dicion\u00e1rio de dados, a estrutura que diz quais tabelas existem e como l\u00ea-las. Os dados em si ficam nos arquivos .ibd. Os dois precisam ser da mesma origem: copiar um sem o outro faz o InnoDB falhar, porque encontra refer\u00eancias para algo que n\u00e3o existe.\"}},\n{\"@type\":\"Question\",\"name\":\"O XAMPP usa MySQL ou MariaDB?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"As vers\u00f5es atuais incluem MariaDB, o fork criado pelos desenvolvedores originais do MySQL depois da compra pela Oracle. O painel continua exibindo MySQL por compatibilidade. Na pr\u00e1tica, os comandos, o phpMyAdmin e as solu\u00e7\u00f5es para este erro s\u00e3o os mesmos.\"}},\n{\"@type\":\"Question\",\"name\":\"Devo usar innodb_force_recovery?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"S\u00f3 como \u00faltimo recurso, e com cuidado. Comece no n\u00edvel 1 e aumente gradualmente, porque a partir do n\u00edvel 4 o processo pode causar perda de dados. Assim que o servi\u00e7o subir, exporte tudo imediatamente, remova a linha do my.ini e reinstale o XAMPP para importar os dados de volta.\"}}\n]\n}\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Veja_tambem\"><\/span>Veja tamb\u00e9m<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para entender o funcionamento do banco, veja <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/o-que-e-mysql\/\">o que \u00e9 MySQL<\/a> e <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/o-que-e-um-banco-de-dados\/\">o que \u00e9 um banco de dados<\/a>. Sobre o ambiente local e como publicar o projeto, veja <a href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/php\/o-que-e-php\/\">o que \u00e9 PHP<\/a>. E se o erro for no site em produ\u00e7\u00e3o e n\u00e3o no XAMPP, veja <a href=\"https:\/\/www.homehost.com.br\/blog\/wordpress\/erro-conexao-banco-de-dados\/\">erro ao estabelecer uma conex\u00e3o com o banco de dados<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusao\"><\/span>Conclus\u00e3o<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A mensagem parece grave, mas raramente \u00e9: o servi\u00e7o morreu, e o log diz por qu\u00ea. O erro de quase todo mundo \u00e9 seguir direto para o tutorial que manda apagar a pasta <code>data<\/code> \u2014 e \u00e9 a\u00ed que os bancos se perdem, n\u00e3o no travamento original. Copie a pasta antes de qualquer coisa, leia as \u00faltimas linhas do <code>mysql_error.log<\/code>, e trate a causa que ele apontar. E, para n\u00e3o repetir: pare o MySQL pelo painel antes de desligar o computador. \u00c9 esse gesto de dois segundos que evita a maior parte dos casos.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O MySQL do XAMPP n\u00e3o inicia? Antes de apagar a pasta data, leia o log de erro. Veja as 6 causas, como identificar cada uma e como recuperar seus bancos.<\/p>\n","protected":false},"author":1,"featured_media":17181,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[30],"tags":[],"class_list":["post-17180","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mysql"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Error: MySQL shutdown unexpectedly \u2014 como resolver no XAMPP | Homehost<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Error: MySQL shutdown unexpectedly \u2014 como resolver no XAMPP | Homehost\" \/>\n<meta property=\"og:description\" content=\"O MySQL do XAMPP n\u00e3o inicia? Antes de apagar a pasta data, leia o log de erro. Veja as 6 causas, como identificar cada uma e como recuperar seus bancos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/\" \/>\n<meta property=\"og:site_name\" content=\"Homehost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Homehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-08T23:28:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-08T23:28:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-shutdown-unexpectedly-capa.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"941\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Gustavo Gallas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Homehost\" \/>\n<meta name=\"twitter:site\" content=\"@Homehost\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gustavo Gallas\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/\",\"name\":\"Error: MySQL shutdown unexpectedly \u2014 como resolver no XAMPP | Homehost\",\"isPartOf\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-shutdown-unexpectedly-capa.png\",\"datePublished\":\"2026-08-08T23:28:42+00:00\",\"dateModified\":\"2026-08-08T23:28:53+00:00\",\"author\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#primaryimage\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-shutdown-unexpectedly-capa.png\",\"contentUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-shutdown-unexpectedly-capa.png\",\"width\":1672,\"height\":941,\"caption\":\"MySQL shutdown unexpectedly\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.homehost.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Error: MySQL shutdown unexpectedly \u2014 como resolver no XAMPP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/\",\"name\":\"Homehost\",\"description\":\"Hospedagem De Sites\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4\",\"name\":\"Gustavo Gallas\",\"description\":\"Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do B\u00f3ris, seu pet de estima\u00e7\u00e3o. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos t\u00e9cnicos. Contato: gustavo.blog@homehost.com.br\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Error: MySQL shutdown unexpectedly \u2014 como resolver no XAMPP | Homehost","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/","og_locale":"pt_BR","og_type":"article","og_title":"Error: MySQL shutdown unexpectedly \u2014 como resolver no XAMPP | Homehost","og_description":"O MySQL do XAMPP n\u00e3o inicia? Antes de apagar a pasta data, leia o log de erro. Veja as 6 causas, como identificar cada uma e como recuperar seus bancos.","og_url":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/","og_site_name":"Homehost","article_publisher":"https:\/\/www.facebook.com\/Homehost\/","article_published_time":"2026-08-08T23:28:42+00:00","article_modified_time":"2026-08-08T23:28:53+00:00","og_image":[{"width":1672,"height":941,"url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-shutdown-unexpectedly-capa.png","type":"image\/png"}],"author":"Gustavo Gallas","twitter_card":"summary_large_image","twitter_creator":"@Homehost","twitter_site":"@Homehost","twitter_misc":{"Escrito por":"Gustavo Gallas","Est. tempo de leitura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/","url":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/","name":"Error: MySQL shutdown unexpectedly \u2014 como resolver no XAMPP | Homehost","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#primaryimage"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-shutdown-unexpectedly-capa.png","datePublished":"2026-08-08T23:28:42+00:00","dateModified":"2026-08-08T23:28:53+00:00","author":{"@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4"},"breadcrumb":{"@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#primaryimage","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-shutdown-unexpectedly-capa.png","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-shutdown-unexpectedly-capa.png","width":1672,"height":941,"caption":"MySQL shutdown unexpectedly"},{"@type":"BreadcrumbList","@id":"https:\/\/www.homehost.com.br\/blog\/tutoriais\/mysql\/mysql-shutdown-unexpectedly\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.homehost.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Error: MySQL shutdown unexpectedly \u2014 como resolver no XAMPP"}]},{"@type":"WebSite","@id":"https:\/\/www.homehost.com.br\/blog\/#website","url":"https:\/\/www.homehost.com.br\/blog\/","name":"Homehost","description":"Hospedagem De Sites","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/df8002f43fc55e7f4e132abb2a6ddbc4","name":"Gustavo Gallas","description":"Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do B\u00f3ris, seu pet de estima\u00e7\u00e3o. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos t\u00e9cnicos. Contato: gustavo.blog@homehost.com.br"}]}},"modified_by":"ad_hmhst","jetpack_featured_media_url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2026\/08\/mysql-shutdown-unexpectedly-capa.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/17180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=17180"}],"version-history":[{"count":1,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/17180\/revisions"}],"predecessor-version":[{"id":17185,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/17180\/revisions\/17185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media\/17181"}],"wp:attachment":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=17180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=17180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=17180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}