Isso não é uma tabela de zumbis como você chama.
Quando o mysql foi instalado, a tabela mysql.general_log
foi incluída.
Ele usa o mecanismo de armazenamento CSV .
Os dois arquivos que representam são
-
/var/lib/mysql/mysql/general_log.frm
-
/var/lib/mysql/mysql/general_log.CSV
Você tem a opção de ativar o registro geral nessa tabela. Pessoalmente, eu nunca usaria isso como uma tabela CSV. Eu iria convertê-lo para MyISAM e indexá-lo. Em seguida, ative-o para que eu possa consultar a tabela por data e hora e localize comandos SQL e usuários em intervalos de tempo.
Eu tenho muitas postagens no DBA StackExchange sobre como configurá-lo e usá-lo. Aqui estão alguns:
-
Dec 27, 2011
: Como fazer a contabilidade de usuários do MySQL -
Jan 08, 2012
: Como habilitar o log geral do MySQL? -
Feb 11, 2012
: log geral do MySQL
PARA ÊNFASE: Essa não é uma tabela fantasma. É real. Basta executar no cliente mysql:
SHOW CREATE TTABLE mysql.general_log\G
ou isso no sistema operacional
ls -l /var/lib/mysql/mysql/general_log.*
Agora, o mysqldump está reclamando sobre essa tabela, é provável que você tenha que deletar o arquivo /var/lib/mysql/mysql/general_log.CSV
e deixado o outro arquivo /var/lib/mysql/mysql/general_log.frm
sozinho. Existem duas soluções:
SOLUÇÃO # 1: Crie o arquivo CSV novamente
echo -n > /var/lib/mysql/mysql/general_log.CSV
chown mysql:mysql /var/lib/mysql/mysql/general_log.CSV
SOLUÇÃO # 2: Excluir o arquivo .frm
rm -f /var/lib/mysql/mysql/general_log.frm
CAVEAT: Depois de excluir /var/lib/mysql/mysql/general_log.frm
, não é possível criar uma tabela de log geral até que você faça isso:
CREATE TABLE 'general_log' (
'event_time' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
'user_host' mediumtext NOT NULL,
'thread_id' int(11) NOT NULL,
'server_id' int(10) unsigned NOT NULL,
'command_type' varchar(64) NOT NULL,
'argument' mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';
Se você nunca pretende usar o log geral como tabela, excluí-lo não deve ser um problema.