Eu tenho um servidor de banco de dados para um projeto paralelo e um dia entre um período de desligamento do servidor - três tabelas foram descartadas aleatoriamente. Mas os arquivos .ibd dessas tabelas ainda existem. Também não há nada nos logs de erros.
O que aconteceu? Os únicos usuários com permissões de drop são o usuário root e o usuário do phpmyadmin. E o servidor é um servidor somente LAN, sem acesso externo à Internet.
É possível restaurar as tabelas dos arquivos .ibd? Não adicionei novas tabelas nem inseri novas linhas desde então. Estou executando o MySQl 8, portanto nenhum arquivo .frm está disponível.
Eu descobri o que aconteceu. Por algum motivo, o datadir voltou à configuração padrão, apesar de ainda estar definido no arquivo
/etc/mysql/mysql.conf.d/mysqld.cnf
. Alterei o datadir do padrão para um caminho personalizado quando tinha apenas uma tabela. Então, quando foi revertido, parecia que todas as tabelas que adicionei desde então foram descartadas.Para corrigir isso eu adicionei
para o
/etc/mysql/my.cnf
arquivo.Ainda não sei a causa da reversão do datadir para o padrão, talvez um problema de montagem com a unidade secundária na inicialização?