O Que Fazer Se o MariaDB Continua Falhando


Todas as versões do MariaDB são testadas em muitas plataformas antes de serem distribuídas. Isto não significa que não existe nenhum erro no MySQL, mas significa que se houver erros, eles são poucos e podem ser difíceis de encontrar. Se você tiver u problema, sempre ajudará se você tentar encontrar exatamente o que falhou em seu sistema e assim você terá uma chance muito maior de tê-lo corrigido rapidamente.

Primeiro, você deve tentar descobrir o problema é que o daemon do mysqld morre ou se o seu problema é relativo ao seu cliente. Você pode verificar o quanto tempo o seu servidor mysqld está em execução utilizando o mysqladmin version. Se o mysqld morrer, você pode encontrar a causa disto no arquivo mysql-data-directory/`nome_maquina`.err. Leia "O Log de Erros".

Em alguns sistemas você pode encontrar neste arquivo um stack trace de onde o mysqld finalizou e assim você pode resolver com resolve_back_stack. Leia Seção E.1.4, "Usando Stack Trace". Note qte os valores da variável escrita no arquivo .err não podem sempre estar 100% corretas.

Muitas falhas do MariaDB são causadas por arquivos de índices/dados corrompidos. O MariaDB atualizará os dados em disco, com a chamada de sistema write(), depois de todas as intruções SQL e antes do ser notificado sobre o resultado. (Isto não é verdade se você estiver executando com delay_key_write, caso no qual apenas o dado é escrito.) Insto significa que o dado é salvo mesmo se o mysqld falhar, já que o SO se certificará de que o dado não descarregado esta escrito em disco. Você pode forçar o MariaDB a sincronizar tudo para o disco depois de todo comando SQL inicando o mysqld com --flush.

O exposto acimo significa que normalmente você não deve ter tabelas corrompidas a menos que:

Por ser muito difícil saber o motivo das falhas, tente primeiro verificar se o que está funcionando para outros está falhando com você. Por favor, tente o seguinte:

Finalize o daemon mysqld com mysqladmin shutdown, execute myisamchk --silent --force */*.MYI em todas as tabelas e reinicie o daemon mysqld. Isto irá assegurar que você está executando de um estado limpo. Leia Administração do Bancos de Dados MySQL.

Retornar