How do I create a read only MySQL user for backup purposes with mysqldump?
Posted
by
stickmangumby
on Server Fault
See other posts from Server Fault
or by stickmangumby
Published on 2011-03-07T05:59:05Z
Indexed on
2011/03/07
8:11 UTC
Read the original article
Hit count: 296
I'm using the automysqlbackup
script to dump my mysql databases, but I want to have a read-only user to do this with so that I'm not storing my root database password in a plaintext file.
I've created a user like so:
grant select, lock tables on *.* to 'username'@'localhost' identified by 'password';
When I run mysqldump
(either through automysqlbackup
or directly) I get the following warning:
mysqldump: Got error: 1044: Access denied for user 'username'@'localhost' to database 'information_schema' when using LOCK TABLES
Am I doing it wrong? Do I need additional grants for my readonly user? Or can only root
lock the information_schema
table? What's going on?
Edit:
GAH and now it works. I may not have run FLUSH PRIVILEGES previously.
As an aside, how often does this occur automatically?
Edit:
No, it doesn't work. Running mysqldump -u username -p --all-databases > dump.sql
manually doesn't generate an error, but doesn't dump information_schema. automysqlbackup
does raise an error.
© Server Fault or respective owner