come posso smettere automysqlbackup lanciando errore LOCK TABLES?


21

Come fermare lo script cron.daily di automysqlbackup - come installato e configurato da apt-get install automysqlbackup- generando il seguente errore:

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

Questo è avvenuto per la prima volta (per me) dopo aver eseguito l'aggiornamento a MySQL 5.5 come conseguenza dell'aggiornamento a Ubuntu 12.04 LTS.

Risposte:


32

Questo bug (che è stato corretto in automysqlbackup 2.6+debian.2-1) può essere risolto arrestando automysqlbackup dal dumping dei database performance_schemae information_schema. Questo può essere fatto modificando /etc/default/automysqlbackupcome segue:

Aggiungere una pipe aggiuntiva al passo grep per rimuovere performance_schemae information_schemadall'elenco di DBNAMES.

Quindi, nella riga che inizia DBNAMES=e dopo l' | grep -v ^mysql$inserimento

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

prima | tr \\\r\\\n ,\tale che dovrebbe apparire la linea finale

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

Grazie a Jérôme Drouet.

In alternativa, se si utilizza il pacchetto automysqlbackup originale da sourceforge e non il pacchetto apt, è possibile aggiungere il database performance_schema ai database esclusi modificando la riga che contiene CONFIG_db_exclude in /etc/automysqlbackup/myserver.conf:

# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
CONFIG_db_exclude=( 'information_schema' 'performance_schema' )

La tua risposta funziona. Vai avanti e seleziona la tua risposta come quella corretta.
Stefan Lasiewski,

Questa è la correzione anche su OS X (tramite Homebrew).
Michael Thompson,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.