Usando mysqlcheck para Manutenção de Tabelas e Recuperação em Caso de Falhas
Desde o MariaDB versão 3.23.38 você estará apto a usar a nova ferramenta de reparos e verificação de tabelas MyISAM. A diferença para o myisamchk é que o mysqlcheck deve ser usado quando o servidor mysqld estiver em funcionamento, enquanto o myisamchk deve ser usado quando ele não estiver. O benefício é que você não precisará mais desligar o servidor mysqld para verificar ou reparar suas tabelas.
O mysqlcheck utiliza os comandos do servidor MariaDB CHECK, REPAIR, ANALYZE e OPTIMIZE de um modo conveniente para o usuário.
Existem três modos alternativos de chamar o mysqlcheck:
shell>mysqlcheck [OPÇÕES] database [tabelas]shell>mysqlcheck [OPÇÕES] --databases DB1 [DB2 DB3...]shell>mysqlcheck [OPÇÕES] --all-databases
Pode ser usado de uma maneira muito similar ao mysqldump quando o assunto for quais bancos de dados e tabelas devem ser escolhidas.
O mysqlcheck tem um recurso especial comparado comparado aos outros clientes; o comportamento padrão, verificando as tabelas (-c), pode ser alterado renomeando o binário. Se você deseja ter uma ferramenta que repare as tabelas como o procedimento padrão, você deve copiar o mysqlcheck para o disco com um outro nome, mysqlrepair, ou crie um link simbólico com o nome mysqlrepair. Se você chamar mysqlrepair agora, ele irá reparar as tabelas como seu procedimento padrão.
Os nomes que podem ser utilizados para alterar o comportamento padrão do mysqlcheck são:
mysqlrepair: A opção padrão será -r mysqlanalyze: A opção padrão será -a mysqloptimize: A opção padrão será -o
As opções disponíveis para o mysqlcheck estão listadas aqui, por favor verifique o que a sua versão suporta com o mysqlcheck --help.
-A, --all-databasesVerifica todos os bancos de dados. Isto é o mesmo que --databases com todos os bancos de dados selecionados.
-1, --all-in-1Em vez de fazer uma consulta para cada tabela, execute todas as consultas separadamente para cada banco de dados. Nomes de tabelas estarão em uma lista separada por vírgula.
-a, --analyzeAnálise as tabelas fornecidas.
--auto-repairSe uma tabela checada está corrompida, ela é corrigida automaticamente. O reparo será feito depois que todas as tabelas tiverem sido checadas e forem detectadas tabelas corrompidas.
-#, --debug=...Log de saída de depuração. Normalmente é 'd:t:o,filename'
--character-sets-dir=...Diretório onde estão os conjuntos de caracteres.
-c, --checkVerifca erros em tabelas
-C, --check-only-changedVerifica somente tabelas que foram alteradas desde a última conferência ou que não foram fechada corretamente.
--compressUtilize compressão no protocolo server/cliente.
-?, --helpExibe esta mensagem de ajuda e sai.
-B, --databasesPara verificar diversos bancos de dados. Perceba a diferença no uso; Neste caso nenhuma tabela será fornecida. Todos os argumentos são tratados como nomes de bancos de dados.
--default-character-set=...Configura o conjunto de caracteres padrão.
-F, --fastVerifica somente as tabelas que não foram fechadas corretamente
-f, --forceContinue mesmo se nós obtermos um erro de sql.
-e, --extendedSe você estiver utilizando esta opção com CHECK TABLE, irá garantir que a tabela está 100 por cento consistente, mas leva bastante tempo.
Se você utilizar esta opção com REPAIR TABLE, ele irá executar um comando de reparos na tabela, que não só irá demorar muito tempo para executar, mas também pode produzir muitas linhas de lixo.
-h, --host=...Conecta à máquina.
-m, --medium-checkMais rápido que verificação extendida, mas encontra somente 99.99 de todos os erros. Deve resolver a maioria dos casos.
-o, --optimizeOtimizador de tabelas
-p, --password[=...]Senha para usar ao conectar ao servidor. Se a senha não for fornecida será solicitada no terminal.
-P, --port=...Número de porta para usar para conexão.
-q, --quickSe esta opção for utilizada com CHECK TABLE, evita a busca de registros verificando links errados. Esta é a conferência mais rápida.
Se você estiver utilizando esta opção com REPAIR TABLE, ela tentará reparar somente a árvore de índices. Este é o método de reparo mais rápido para uma tabela.
-r, --repairPode corrigir quase tudo exceto chaves únicas que não são únicas.
-s, --silentExibe somente mensagens de erro.
-S, --socket=...Arquivo socket para usar na conexão.
--tablesSobrepõe a opção --databases (-B).
-u, --user=#Usuário para o login, se não for o usuário atual.
-v, --verboseExibe informação sobre os vários estágios.
-V, --versionExibe informação sobre a versão e sai.