Comment arrêter le script cron.daily d'automysqlbackup - tel qu'installé et configuré à partir de apt-get install automysqlbackup
- en générant l'erreur suivante:
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user
'debian-sys-maint'@'localhost' for table 'cond_instances' when using LOCK TABLES
C'est la première fois (pour moi) après avoir effectué une mise à niveau vers MySQL 5.5 à la suite de la mise à niveau vers Ubuntu 12.04 LTS.
Ce bogue (qui a été corrigé dans automysqlbackup 2.6+debian.2-1
) peut être contourné en empêchant automysqlbackup de vider les bases de données performance_schema
et information_schema
. Cela peut être fait en éditant /etc/default/automysqlbackup
comme suit:
Ajoutez un canal supplémentaire à l'étape grep pour supprimer performance_schema
et information_schema
de la liste de DBNAMES.
Donc, dans la ligne qui commence DBNAMES=
, et après | grep -v ^mysql$
insérez
| grep -v ^performance_schema$ | grep -v ^information_schema$
avant | tr \\\r\\\n ,\
tel que la dernière ligne devrait ressembler à
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 ,\ `
Merci à Jérôme Drouet.
Si vous utilisez le package automysqlbackup d'origine de Sourceforge et non le paquet apt, vous pouvez ajouter la base de données performance_schema à vos bases de données exclues en modifiant la ligne contenant CONFIG_db_exclude dans votre /etc/automysqlbackup/myserver.conf:
# List of DBNAMES to EXLUCDE if DBNAMES is empty, i.e. ().
CONFIG_db_exclude=( 'information_schema' 'performance_schema' )