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

by on October 26, 2010 · 5 comments· last updated at 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


You should follow me on twitter here or grab rss feed to keep track of new changes.

Featured Articles:

{ 5 comments… read them below or add one }

1 fox November 18, 2010 at 2:53 am

Gracias por la data!

Reply

2 webuffalo February 9, 2011 at 9:56 am

I added this to automysqlbackup, let’s see tomorrow if it worked
thanks

Reply

3 Alex October 25, 2011 at 1:32 pm

Niiiceee) thx! It worked.

Reply

4 Juarez November 22, 2011 at 7:45 pm

The first tip worked just fine! Thanks a lot!

Reply

5 RudyD August 3, 2012 at 6:19 pm

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

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <kbd> <blockquote> <pre> <a href="" title="">

Tagged as: , , , , , , , , , ,

Previous Faq:

Next Faq: