← Back to team overview

aims team mailing list archive

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

 

Thomas, it is installed out of the box version 2.6+debian-2 with
/etc/default/automysqlbackup

# By default, the Debian version of automysqlbackup will use:
# mysqldump --defaults-file=/etc/mysql/debian.cnf
# but you might want to overwrite with a specific user & pass.
# To do this, simply edit bellow.

# Username to access the MySQL server e.g. dbuser
#USERNAME=`grep user /etc/mysql/debian.cnf | tail -n 1 | cut -d"=" -f2 | awk '{print $1}'`

# Username to access the MySQL server e.g. password
#PASSWORD=`grep password /etc/mysql/debian.cnf | tail -n 1 | cut -d"=" -f2 | awk '{print $1}'`

# Host name (or IP address) of MySQL server e.g localhost
DBHOST=localhost

# List of DBNAMES for Daily/Weekly Backup e.g. "DB1 DB2 DB3"
# Note that it's absolutely normal that the db named "mysql" is not in this
# list, as it's added later by the script. See the MDBNAMES directives below
# in this file (advanced options).
# This is ONLY a convenient default, if you don't like it, don't complain
# and write your own.
# The following is a quick hack that will find the names of the databases by
# reading the mysql folder content. Feel free to replace by something else.
# DBNAMES=`find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f5 | grep -v ^mysql\$ | tr \\\r\\\n ,\ `
# This one does a list of dbs using a MySQL statement.
DBNAMES=`mysql --defaults-file=/etc/mysql/debian.cnf --execute="SHOW DATABASES" | awk '{print $1}' | grep -v ^Database$ | grep -v ^mysql$ | tr \\\r\\\n ,\ `

# Backup directory location e.g /backups
# Folders inside this one will be created (daily, weekly, etc.), and the
# subfolders will be database names. Note that backups will be owned by
# root, with Unix rights 0600.
BACKUPDIR="/var/lib/automysqlbackup"

# Mail setup
# What would you like to be mailed to you?
# - log   : send only log file
# - files : send log file and sql files as attachments (see docs)
# - stdout : will simply output the log to the screen if run manually.
# - quiet : Only send logs if an error occurs to the MAILADDR.
MAILCONTENT="quiet"

# Set the maximum allowed email size in k. (4000 = approx 5MB email [see
# docs])
MAXATTSIZE="4000"

# Email Address to send mail to? (user@xxxxxxxxxx)
MAILADDR="root"

# ============================================================
# === ADVANCED OPTIONS ( Read the doc's below for details )===
#=============================================================

# List of DBBNAMES for Monthly Backups.
MDBNAMES="mysql $DBNAMES"

# List of DBNAMES to EXLUCDE if DBNAMES are set to all (must be in " quotes)
DBEXCLUDE=""

# Include CREATE DATABASE in backup?
CREATE_DATABASE=yes

# Separate backup directory and file for each DB? (yes or no)
SEPDIR=yes

# Which day do you want weekly backups? (1 to 7 where 1 is Monday)
DOWEEKLY=6

# Choose Compression type. (gzip or bzip2)
COMP=gzip

# Compress communications between backup server and MySQL server?
COMMCOMP=no

# Additionally keep a copy of the most recent backup in a seperate
# directory.
LATEST=no

#  The maximum size of the buffer for client/server communication. e.g. 16MB
#  (maximum is 1GB)
MAX_ALLOWED_PACKET=

#  For connections to localhost. Sometimes the Unix socket file must be
#  specified.
SOCKET=

# Command to run before backups (uncomment to use)
#PREBACKUP="/etc/mysql-backup-pre"

# Command run after backups (uncomment to use)
#POSTBACKUP="/etc/mysql-backup-post"

-- 
You received this bug notification because you are a member of AIMS,
which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/995587

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

Status in “automysqlbackup” package in Ubuntu:
  Confirmed

Bug description:
  Release:	12.04
  automysqlbackup:
    Installed: 2.6+debian-2
    Candidate: 2.6+debian-2
    Version table:
   *** 2.6+debian-2 0
          500 http://us.archive.ubuntu.com/ubuntu/ precise/universe amd64 Packages
          100 /var/lib/dpkg/status


  
  After a remove --purge, reinstall of automysqlbackup, and configure in /etc/defaults/automysqlbackup, I am emailed the following error when cron runs /usr/sbin/automysqlbackup:

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

  it seems that the default on ubuntu is to use the user debian-sys-
  maint to run this backup, however debian-sys-maint doesn't have full
  permissions.  Some say that these tables are not necessary to backup
  and recommend the flag " --skip-add-locks" OR "--skip-lock-tables":

  http://serverfault.com/questions/268566/cant-backup-the-mysql-table-
  with-mysqldump-select-lock-tabl-command-denied-for

  I managed to get the error to go away by adding "--skip-lock-tables"
  to /usr/sbin/automysqlbackup:


          if [ -z "${USERNAME}" -o -z "${PASSWORD}" ] ; then
                  mysqldump --defaults-file=/etc/mysql/debian.cnf $NEWOP\
  T --skip-lock-tables $1 > $2
          else
                  mysqldump --user=$USERNAME --password=$PASSWORD --host\
  =$DBHOST --skip-lock-tables $NEWOPT $1 > $2
          fi
          return 0

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/automysqlbackup/+bug/995587/+subscriptions