mysqldump: Got error: 1044: Access denied for user ‘root’@’localhost’ to database ‘information_schema’ when using LOCK TABLES

Posted on in Categories last updated October 26, 2010

I‘m trying to make backups using the mysqldump command and getting the following error or warning:

mysqldump: Got error: 1044: Access denied for user ‘root’@’localhost’ to database ‘information_schema’ when using LOCK TABLES

How do I fix this problem?

You can pass the –single-transaction option to mysqldump command:
$ mysqldump --single-transaction -u user -p DBNAME > backup.sql
Another option is to grant LOCK TABLES to your user:
$ mysql -u root -p
And type:
mysql> GRANT SELECT,LOCK TABLES ON DBNAME.* TO 'username'@'localhost';

Sample Shell Script

#!/bin/bash
# Purpose: Backup mysql 
# Author: Vivek Gite; under GNU GPL v2.0+ 
NOW=$(date +"%d-%m-%Y")
DEST="/.backup/mysql"
# set mysql login info
MUSER="root"                # Username
MPASS='PASSWORD-HERE'   # Password
MHOST="127.0.0.1"  # Server Name
 
# guess binary names
MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"
GZIP="$(which gzip)"
 
[ ! -d "${DEST}" ] && mkdir -p "${DEST}"
# get all db names
DBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"
for db in $DBS
do
 FILE=${DEST}/mysql-${db}.${NOW}-$(date +"%T").gz
 # get around error 
 $MYSQLDUMP --single-transaction -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILE
done

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

8 comment

  1. Greetings!

    Just getting this on newer Ubuntu and Debian machines.
    The “–single-transaction” switch ruins the next switch which would be the credentials from a custom ‘~my.cf’ file.
    Passing the information_schema into the ignored databases seems making the script skip it. ( Other script of Vivek’s a bit customized further).

    Anyhow I would like to find a way to dump that too if there is any reason and use.

    (The grant of the rights for the root user did not help. In my case root proceeds with the dump.)

    Anyhow I did not investigated further yet.
    — R

  2. Thanks, I am a great fan of your web site, if I will do anything for you in my life it wd be a great pleaseure for me . I have 8 years of experience of linux admin, I am a Redhat Certified Server Admin,thanks Nixcraft.
    Anil Mistery

Leave a Comment