como faço para parar automysqlbackup jogando erro LOCK TABLES?

20

Como parar o script cron.daily do automysqlbackup - como instalado e configurado a partir de apt-get install automysqlbackup - lançando o seguinte erro:

 mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 
'debian-sys-maint'@'localhost' for table 'cond_instances' when using LOCK TABLES

Isso ocorreu primeiro (para mim) depois de ter atualizado para o MySQL 5.5 como consequência de ter atualizado para o Ubuntu 12.04 LTS.

    
por iainH 10.05.2012 / 00:44

1 resposta

29

Este bug (que foi corrigido em automysqlbackup 2.6+debian.2-1 ) pode ser contornado, interrompendo o automysqlbackup de despejar os bancos de dados performance_schema e information_schema . Isso pode ser feito editando /etc/default/automysqlbackup da seguinte forma:

Adicione um pipe adicional ao grep para remover performance_schema e information_schema da lista de DBNAMES.

Assim, na linha que inicia DBNAMES= e depois de | grep -v ^mysql$ inserir

| grep -v ^performance_schema$ | grep -v ^information_schema$

antes de | tr \\r\\n ,\ para que a linha final pareça

DBNAMES='mysql --defaults-file=/etc/mysql/debian.cnf --execute="SHOW DATABASES" | awk '{print }' | grep -v ^Database$ | grep -v ^mysql$ | grep -v ^performance_schema$ | grep -v ^information_schema$ | tr \\r\\n ,\ '

Obrigado ao Jérôme Drouet.

Alternativamente, se você usar o pacote automysqlbackup original do sourceforge e não do apt-package, você pode adicionar o banco de dados performance_schema aos seus bancos de dados excluídos modificando a linha que contém CONFIG_db_exclude no seu /etc/automysqlbackup/myserver.conf:

# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
CONFIG_db_exclude=( 'information_schema' 'performance_schema' )
    
por iainH 14.05.2012 / 13:15