Hoje, o MySQL é uma das soluções mais populares entre os sistemas de gerenciamento de banco de dados de pequeno e médio porte. Uma das vantagens do MySQL é a capacidade de trabalhar com tabelas de diferentes tipos. Um deles é o MyISAM. Essas tabelas são ótimas para armazenar dados solicitados com frequência, mas se falharem durante o processo de modificação, podem ser facilmente danificadas. Portanto, frequentemente há casos em que você precisa restaurar uma tabela do tipo MyISAM.
Necessário
- - credenciais de root na máquina de destino;
- - pacote instalado de utilitários de administração do servidor MySQL.
Instruções
Passo 1
Inicie uma sessão com as credenciais do usuário root em uma máquina com um servidor MySQL em funcionamento, executando um banco de dados que se acredita ter tabelas corrompidas. Se você pode trabalhar diretamente com o computador de destino, faça login em um console de texto ou execute um emulador de terminal como root. Se você tiver acesso SSH remoto, use um programa cliente apropriado para fazer a conexão.
Passo 2
Pare o servidor de banco de dados MySQL na máquina de destino. Execute o comando service mysqld stop. Aguarde a conclusão do processo de desligamento (isso será indicado por uma mensagem de diagnóstico).
etapa 3
Crie uma cópia de backup dos arquivos da tabela do banco de dados, que será usada para trabalhos futuros. Neste caso, é conveniente usar o gerenciador de arquivos. Navegue até a pasta que contém os arquivos da tabela. Ele tem um nome idêntico ao nome do banco de dados e está localizado no diretório db, que está localizado no diretório raiz do servidor (endereçado pela variável chroot do arquivo de configuração my.cnf). Copie todos os arquivos com extensões MYD e MYI da pasta atual para algum diretório temporário.
Passo 4
Verifique se há danos em uma ou mais tabelas do banco de dados. No diretório atual, execute o comando myisamchk com a opção -c (ou nenhuma opção) para uma varredura normal. Use a opção -m para testes cuidadosos e a opção -e para testes extremamente cuidadosos. Como último parâmetro, especifique o nome ou máscara dos nomes dos arquivos a serem processados. Por exemplo: myisamchk -c test_table. MYImyisamchk *. MYI
Etapa 5
Recupere a mesa ou mesas onde o dano foi encontrado. Execute o comando myisamchk com a opção -r para recuperação normal ou a opção -o para recuperação suave. Como último parâmetro, como no passo anterior, passe o nome ou máscara de nome das tabelas de destino. Por exemplo: myisamchk -o test_table. MYI
Etapa 6
Inicie o servidor MySQL. Execute o comando service mysqld start.
Etapa 7
Encerre sua sessão. Digite o comando exit e pressione Enter.