De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Edson A. Dezounet
Data de Publicação: 21 de Outubro de 2007
Quando uma tabela dentro do MySQL é corrompida, por qualquer que seja o
motivo, e você não tem o backup (que era o meu caso) existe uma ferramenta
do próprio MySQL para solucionar este problema. O mysqlcheck pode fazer
o reparo de uma ou várias tabelas dentro do MySQL.
A sintaxe é bem simples:
# mysqlcheck -h -p database tabela auto-repair
| mysqlcheck | É o comando que você executa na console para reparar a tabela. |
| -h | Servidor MySQL. Você pode omitir este parâmetro caso esteja na console do servidor ou acessando o servidor via SSH. |
| -p | Solicita a senha de acesso ao banco de dados. |
| database | Nome do banco de dados onde se encontra a tabela a ser reparada |
| tabela | Nome da tabela que será reparada. Você pode passar várias tabelas para serem recuperadas, basta usar uma vírgula como separador entre o nome das tabelas. |
| -auto-repair | Diz para o mysqlcheck recuperar de forma automática a tabela. Caso você passe um banco de dados ou várias tabelas, ele irá primeiramente checar todas as tabelas para depois executar a correção. |
Existem outras opções que você pode utilizar, como:
| -A | --all-databases | Verifica todos os bancos de dados. |
| -a | --analyze | Apenas faz uma analise das tabelas fornecidas. |
| -c | --check | Apenas verifica a existência de erros nas tabelas. |
| -C | --check-only-changed | Verifica somente as tabelas novas, tabelas que foram alteradas desde a última checagem ou que não foram fechada de forma correta. |
| -S | --socket=/diretorio/sockets | Arquivo socket que será usado para estabelecer a conexão. |
| -u | --user=nomeUsuario | Usuário para a conexão. |
| -p | --password=[senhaUsuario] | Senha para o usuário estabelecer a conexão. Caso não seja passado esta opção, a senha será solicitada no prompt. |
| -P | -port=numeroPorta | Use esta opção caso você não esteja utilizando a porta padrão 3306. |
| -v | --verbose | Modo verbose. |