Reputation: 1
I need to back my database, but when trying to flush the tables before backing up I get this error? What does it mean by RELOAD
privilege?
Can't find any RELOAD privilege in phpmyadmin!?
Error: Access denied; you need the RELOAD privilege for this operation
SQL: FLUSH TABLES WITH READ LOCK
Upvotes: 26
Views: 72857
Reputation: 57593
Probably you're not running FLUSH
command using root, but with a limited user.
You need to be granted RELOAD
privilege to run FLUSH
command.
Take a look here for MySQL privileges.
So (for example) root user should use:
GRANT RELOAD ON *.* TO 'your_user'@'localhost';
Upvotes: 18
Reputation: 4943
To clarify:
RELOAD can only be granted globally, not to a particular database. Need to use *.*
GRANT RELOAD ON *.* TO 'your_user'@'localhost';
From the MySQL docs: GRANT Syntax - Global Privileges
The CREATE USER, FILE, PROCESS, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHOW DATABASES, SHUTDOWN, and SUPER privileges are administrative and can only be granted globally.
Upvotes: 27