XAMPP – desligamento do MySQL inesperadamente

Quando eu abro o XAMPP e clico no botão iniciar do MySQL e isso me causa um erro. Eu tinha começado isso antes, mas agora não está funcionando.

12:19:12 PM [mysql] Tentando iniciar o aplicativo MySQL …
12:19:12 PM [mysql] Mudança de status detectada: executando
12:19:13 PM [mysql] Mudança de status detectada: parada
12:19:13 PM [mysql] Erro: desligamento do MySQL inesperadamente.
12:19:13 PM [mysql] Isso pode ser devido a uma porta bloqueada, falta de dependencies,
12:19:13 PM [mysql] privilégios indevidos, uma falha ou um desligamento por outro método
12:19:13 PM [mysql] Pressione o botão Logs para ver os logs de erros e verifique
12:19:13 PM [mysql] o Visualizador de Eventos do Windows para mais pistas
12:19:13 PM [mysql] Se você precisar de mais ajuda, copie e publique isso
12:19:13 PM [mysql] janela de registro inteira nos fóruns

Aqui está o conteúdo do log de erros:

2013-08-02 12:19:12 4536 [Nota] Plugin ‘FEDERATED’ está desabilitado.
2013-08-02 12:19:12 f64 InnoDB: Aviso: O uso de innodb_additional_mem_pool_size é DEPRECADO. Esta opção pode ser removida em versões futuras, junto com a opção innodb_use_sys_malloc e com o alocador de memory interna do InnoDB.
2013-08-02 12:19:12 4536 [Nota] InnoDB: O heap de memory InnoDB está desabilitado
2013-08-02 12:19:12 4536 [Nota] InnoDB: Mutexes e rw_locks usam funções intertravadas do Windows
2013-08-02 12:19:12 4536 [Nota] InnoDB: Tabelas compactadas usam zlib 1.2.3
2013-08-02 12:19:12 4536 [Nota] InnoDB: Não usando instruções CPU crc32
2013-08-02 12:19:12 4536 [Nota] InnoDB: inicializando buffer pool, tamanho = 16.0M
2013-08-02 12:19:12 4536 [Nota] InnoDB: Inicialização concluída do buffer pool
2013-08-02 12:19:12 4536 [Nota] InnoDB: Maior formato de arquivo suportado é o Barracuda.
2013-08-02 12:19:12 4536 [Nota] InnoDB: Os números de seqüência de log 0 e 0 em arquivos ibdata não correspondem ao número de seqüência de log 1616798 no ib_logfiles!
2013-08-02 12:19:12 4536 [Nota] InnoDB: database não foi desligado normalmente!
2013-08-02 12:19:12 4536 [Nota] InnoDB: Iniciando a recuperação de falhas.
2013-08-02 12:19:12 4536 [Nota] InnoDB: Lendo informação de tablespace dos arquivos .ibd …

A mensagem de erro mais importante está aqui:

2013-08-02 12:19:12 4536 [ERRO] InnoDB:
Tentou abrir um espaço de tabela aberto anteriormente.
Espaço de tabela anterior mysql / innodb_table_stats usa o ID de espaço: 1 em filepath:. \ Mysql \ innodb_table_stats.ibd .
Não é possível abrir o espaço de tabela xat / pagamentos que usa o ID de espaço: 1 no caminho de arquivo:. \ Xat \ payments.ibd

O resto do log:

InnoDB: Erro: não foi possível abrir o arquivo de espaço de tabela de uma única tabela. \ Xat \ payments.ibd
InnoDB: Nós não continuamos a recuperação do crash, porque a tabela pode se tornar
InnoDB: corrompido se não podemos aplicar os registros de log no log do InnoDB para ele.
InnoDB: Para corrigir o problema e iniciar o mysqld:
InnoDB: 1) Se houver um problema de permissão no arquivo e o mysqld não puder
InnoDB: abra o arquivo, você deve modificar as permissions.
InnoDB: 2) Se a tabela não é necessária, ou você pode restaurá-la a partir de um backup,
InnoDB: então você pode remover o arquivo .ibd, e o InnoDB fará um
InnoDB: recuperação de falhas e ignorar essa tabela.
InnoDB: 3) Se o sistema de arquivos ou o disco está quebrado e você não pode remover
InnoDB: o arquivo .ibd, você pode definir innodb_force_recovery> 0 em my.cnf
InnoDB: e force o InnoDB a continuar com a recuperação de falhas aqui.

Qual é a causa desses erros e como posso corrigi-los?

Ei, eu fiz isso e funcionou:

  1. sair do servidor Xampp
  2. vá para o C:\xampp\mysql\data
  3. exclua o arquivo ibdata1
  4. reiniciar o servidor xampp

Deve funcionar

  1. Vá para mysql / data /
  2. Exclua todos os arquivos randoms (exceto as pastas reais do database)
  3. Reinicie o Apache e o MySQL .

Deve consertar isso.

Adicione a seguinte linha abaixo da seção [mysqld] no arquivo de configuração mysql (my.ini) e reinicie o servidor web apache e o serviço mysql depois.

 [mysqld] innodb_force_recovery = 4 

Eu tenho o mesmo tipo de erro no meu C:\xampp\mysql\data\mysql_error.log ao tentar iniciar o mysql.

 2013-08-05 01:20:32 6780 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace mysql/slave_relay_log_info uses space ID: 3 at filepath: .\mysql\slave_relay_log_info.ibd. Cannot open tablespace test_database/test_table which uses space ID: 3 at filepath: .\test_database\test_table.ibd 

Você terá que ler o erro de perto. Isto diz que test_database está impedindo o mysql de iniciar.

Você pode eliminar o database problemático, essas etapas corrigem o problema:

  1. Certifique-se de que o mysql e o xampp estejam completamente desligados.
  2. Vá para o seu diretório onde o mysql está instalado, o meu é: C:\xampp\mysql\data
  3. Você deve ver uma pasta com o nome de um database que você criou. o meu foi test_database .
  4. Crie uma nova pasta em outro lugar chamado C:\xampp\mysql\data\mysql\backuptablespace
  5. Arraste e solte (não exclua) a pasta da tabela de database incorreta para o diretório de backup.
  6. Tente iniciar o mysql novamente. Para mim, começou em 1 segundo como esperado.

Se isso não funcionar, coloque o arquivo de volta onde você começou e você estará de volta onde começou.

Se você não quiser excluir o database e não tiver backups:

Se você não tem backups dos dados da tabela e o mysql não inicia porque algo está corrompido, você terá que usar o processo de eliminação para checar e checar o caminho até exatamente o que você fez que o corrompeu. Siga esses passos:

  1. Faça um clone de todo o C:\xampp\ e armazene-o em algum lugar seguro para que você possa voltar ao ponto de partida.
  2. Use uma abordagem de “pesquisa binária” para tentar localizar o item corrompido no database mysql. Pode ser um arquivo, uma tabela, um database, um usuário ou qualquer coisa.
  3. Exclua o database inteiro e veja se isso permite que o mysql seja iniciado. Em caso afirmativo, coloque de volta o database e tente remover algumas das tabelas. Se isso não acontecer, tente puxar outra coisa até que ela comece.
  4. Tente remover esses arquivos de C:\xampp\mysql\data\mysql : db.frm db.MRD db.MYI db.opt user.frm user.MYD user.MYI

  5. Quando você começa o mysql para começar, tente colocar as coisas de volta até encontrar a única coisa que você adiciona que impede que ele seja iniciado. Um bônus para isso é que você aprende como o mysql funciona sob o capô.

Opção nuclear:

Algo que você fez estragou o servidor mysql. Uma desinstalação e reinstalação do XAMPP deve desfazer a corrupção.

Quando você não está executando o XAMPP como administrador, desligar o MySQL freqüentemente causa corrupção, o que significa que você precisa reparar ou excluir suas tabelas. Para evitar isso, você precisa executar o XAMPP como administrador ou usar o método de prompt de comando adequado para desligar o MySQL.

Você pode deletar ibdata1 como Kratos sugere, mas isso pode deixar você com um database quebrado, já que outras partes do seu database ainda estão na pasta /mysql/data/ . No meu caso, esses dados residuais me impediram de instalar o WordPress com sucesso.

Uma maneira mais limpa de desfazer o dano é reverter toda a sua pasta /mysql/data/ . O Windows tem versionamento de pastas embutido – clique com o botão direito do mouse em /mysql/data/ e selecione Restore previous versions . Você pode então excluir o conteúdo atual da pasta e substituí-lo pelo conteúdo da versão anterior.

Adendo: Para garantir que você não se esqueça de executar o XAMPP como administrador, clique com o botão direito do mouse no atalho do XAMPP, acesse Properties , depois Advanced e, finalmente, marque Run as administrator .

Eu também enfrentei esse problema e é assim que resolvi.
1. Certifique-se de que o xampp não esteja no subdiretório. Por exemplo, deve ser C: \ xampp
2. Você pode precisar executar como administrador na execução do aplicativo.

Espero que isso funcione!

Meu Xampp MySQL funcionou apenas segue abaixo:

 01.Go to mysql/data/ directory 02. delete the ibdata1 & ib_logfile*(ib_logfile0,ib_logfile1,ib_logfile101) file 03. restart xampp server 

Config-> Apache-> Abra o httpd.conf. procure por Listen ou 80, atualize a porta de escuta para salvar e reiniciar o servidor. Ah e desligue o Skype se você tiver.

Certifique-se de que a hora do sistema esteja correta. O meu foi definido para o ano 2040 de alguma forma, corrigindo a data resolveu o problema.

Aqui está o que eu fiz. Eu reiniciei o meu computador. Em seguida eu corro services.msc. Eu parei o serviço MySQL, em seguida, reiniciei. O reiniciado o servidor Xampp.

Para mim, eu abandonei o Skype, que ocupava a porta 80, depois o Apache correu bem na porta 80, do que o Skype e ele pegou outra porta dessa vez.

Eu estava enfrentando o mesmo problema e nenhuma das soluções acima me ajudou. Eu fui para o arquivo de configuração mysql (my.ini) e mudei o número da porta em [mysqld]. Por padrão, o mysql é executado na porta 3306.

 port= 3306 

eu mudei para,

 port= 8111 

Em seguida, execute como administrador.Finally isso funcionou para mim.

Gente apenas tenha certeza que você não tem o MySql Server instalado. Porque eu tenho o servidor MySql pré-instalado e quando eu inicio o mysql do painel de controle do xampp alguns conflitos de porta estão acontecendo e não está funcionando .. então antes de iniciar o mysql do painel de controle do xampp certifique-se de que o servidor mysql não está instalado. Eu uso .net então eu instalei o servidor mysql no passado. Desinstalar resolveu meu problema ….

No meu caso em que eu sincronizei meus dados mysql e htdocs para dropbox, eu só precisava apagar os arquivos em conflito na pasta / subpastas mysql / data. Os arquivos conflitantes podem ser identificados por seus nomes, o dropbox lhe dirá isso. Isso resolveu o problema para mim.

Para isso, você precisa clicar na opção x em Serviços de Módulos e fazer os serviços MYSQL instalados. Então inicie os serviços. Aqui está.

Nenhuma solução acima funcionou para mim. então eu fiz abaixo:

Eu apaguei todos os arquivos dentro do diretório C: \ xampp \ mysql \ data \ exceto pastas neste diretório. Funcionou perfeitamente bem, mas meus bancos de dados anteriores não estão funcionando agora. Então faça acima se você não se importa, irá deletar todos os seus bancos de dados anteriores no phpmyadmin.

Se a mensagem de falha for “o mysql.exe parou de funcionar”. Basta executar o xampp-control.exe como administrador para resolver seu problema instantaneamente.

Se alguma das coisas acima não funcionar, faça um backup do diretório Xampp e reinstale o Xampp. Isso certamente funciona!

Se você estiver usando o MariaDB, você pode tentar isto:

  1. Vá para mysql / data /
  2. Renomeie aria_log_control para aria_log_control_old
  3. Reinicie “Mysql”

Eu comento esta declaração no mysql / bin / my.ini

 'innodb_additional_mem_pool_size=2M' 

e isso resolve o meu problema. do que você todo mundo