Estou tentando descartar um banco de dados no mysql, mas toda vez que recebo esse erro
ERROR 2013 (HY000): Lost connection to MySQL server during query
mesmo logado como root.
Originalmente, eu tinha uma tabela corrompida que não podia recriar, por isso decidi recriar o banco de dados. Eu tenho um arquivo innodb por tabela, não tenho certeza se isso importa.
Como posso descartar esse banco de dados?
Receio que você não possa descartar o banco de dados.
O problema vem da tabela que está corrompida. Não é necessariamente o
.ibd
arquivo. É, mais do que provável, a entrada do dicionário de dados dentro de ibdata1 ( Veja a representação pictórica de ibdata1 ).Escrevi sobre isso em
Mar 02, 2012
: Tabela InnoDB SELECT retorna ERROR 2006 (HY000): o servidor MySQL foi embora (após queda de energia)Embora tedioso, aqui está o que você pode fazer para salvar as outras tabelas nesse banco de dados corrompido
bad_db
:PASSO 01)
USE bad_db
PASSO 02) Execute
SELECT COUNT(1) FROM tablename;
para todas as tabelas embad_db
. Colete todos os nomes de tabelas que não travam o mysqld quando você tenta executar a contagem.PASSO 03) Execute
mysqldump -u... -p... bad_db table1 table2 ... tableN > bad_db_goodtables.sql
para todas as tabelas que não travaram o mysqld.Se você for usar um nome de banco de dados diferente, recarregue
bad_db_goodtables.sql
nesse novo banco de dados.Se você precisa que o banco de dados tenha o mesmo nome, MÁ NOTÍCIA!!! Você terá revisão ibdata1. Existem mais passos:
PASSO 04) mysqldump todos os outros bancos de dados em arquivos dump separados
PASSO 05) Realize a limpeza da infraestrutura InnoDB ( Veja meu
Oct 29, 2010
post StackOverflow )PASSO 06) Recarregue todos os outros bancos de dados bons do mysqldumps.
De uma chance !!!
Em primeiro lugar, verifique o log do MySQL (MariaDB). O problema pode ser sobre o InnoDB. Se for o caso, você pode desativar o InnoDB e descartar o banco de dados. Então você pode habilitá-lo.
Aqui está como você pode desabilitar o InnoDB.
Em meu.cnf