Reparar bases de dados MySql em servidor cPanel/WHM

0
1171
views

Databases MySql

Por vezes as coisas não correm como devem da parte do software e é necessário corrigir alguns problemas. Existem várias razões pelas quais poderá ser necessário reparar as bases de dados MySql. Muitas das vezes as tabelas do MySql ficam corrompidas, devido a falhas de escrita e leitura (input/output) ou até mesmo a um shutdown do servidor MySql inesperado.

Este guia serve para verificar, analisar e reparar as tabelas de um servidor MySql, quer esteja este configurado por um painel cPanel/WHM ou outro. De notar que este guia serve apenas para o administrador/sysadmin do servidor, uma vez que o processo irá reparar e verificar todas as bases de dados nesse servidor.

Se é o cliente final de uma empresa de alojamento e está com problemas numa base de dados corrompida, poderá tentar reparar as tabelas utilizando a ferramenta phpmyadmin ou a SQL Query Repair. Caso o problema não seja resolvido com o Repair feito através dos métodos descritos na frase anterior, poderá pedir ao sysadmin da sua empresa de alojamento que efectue uma verificação exaustiva e se possível corra este comando.

Deverá ter em conta que nem sempre é possível efectuar a recuperação de uma base de dados/tabela utilizando o Repair, portanto deverá assegurar-se que tem sempre uma cópia de segurança.

MySql Stats

Seguindo esta informação poderá reparar todas as bases de dados de um servidor MySql, sejam elas 2, 10, 50, 100 ou mais, no entanto para correr os comandos abaixo irá necessitar de acesso root.

Uma vez que tenha garantido o acesso root, poderá executar os respectivos comandos para reparar as bases de dados MySql:

1 – Utilizar o myisamchk

Verificar se as bases de dados necessitam de reparação:

1
myisamchk –check /var/lib/mysql/*/*.MYI

Tente efectuar uma recuperação segura (safe-recover) usando o seguinte comando:

1
myisamchk –safe-recover /var/lib/mysql/*/*.MYI

Se o “safe-recover” não funcionar, tente fazer um full recover:

1
myisamchk –recover /var/lib/mysql/*/*.MYI

Utilize o parâmetro “force” para voltar ao normal:

1
myisamchk –safe-recover –extend-check –force /var/lib/mysql/*/*.MYI

ou:

1
myisamchk –recover –extend-check –force /var/lib/mysql/*/*.MYI

Estes comandos devem corrigir a maior parte dos problemas nas suas bases de dados.

2 – Utilizar mysqlcheck para reparar bases de dados MySql

Para além dos comandos acima, poderá também utilizar a ferramenta mysqlcheck para reparar as bases de dados do seu servidor MySql. Veja abaixo os exemplos:

Reparar tabelas MySql com o mysqlcheck

1
mysqlcheck –all-databases -r

Analisar tabelas MySql com o mysqlcheck

1
mysqlcheck –all-databases -a

Optimizar tabelas MySql com o mysqlcheck

1
mysqlcheck –all-databases -o

Utilizando os comandos acima deverá corrigir os problemas nas tabelas das bases de dados dos seus servidores MySql. Deverá ter o cuidado de efectuar o backup de bases de dados vitais antes de correr os comandos acima de forma a poder reverter caso alguma coisa corra mal.

Este guia foi baseado e na sua maioria traduzido do website Web Hosting Resource Kit, pelo que agradecemos que caso cite este artigo, faça referência à fonte original.