Hi everyone --
I'm pretty new to MySql, but not many years ago I was an ISAM guy so I understand the
issues with indexes and on-the-fly inserts.
I've seen many questions around this error message, "Access denied; you need the RELOAD
privilege for this operation." But I'm not grokking the answers.
Is it true that I cannot get all the privs I need on a database that I have created?
If so, then what's a reasonable way for MySql users to get around this restriction?
In my particular case, cPanel tells me "MySQL version 5.0.81-community." I have a table
"usrs" in my ISAM DB into which I want to insert a row. I execute this C-connector code
before the insert:
err = mysql_query( pmysql, "lock table usrs write;" );
err = mysql_query( pmysql, "flush table usrs;" );
The error return from "flush table" is "Access denied; you need the RELOAD privilege for
After the insert (which completes without error) I execute the "flush table" call again
prior to issuing "unlock tables;" The error return to the second "flush table" is
likewise "Access denied."
I think I understand (from reading the net) that only root can grant RELOAD privs. So of
course the many responses to this question everywhere often begin, "It's so very simple!
Just login as root and ..." :-)
Since I'm on a shared-host ISP, I need to get the admin to grant me RELOAD privs. But it
seems that RELOAD priv is a MySql-wide priv, not a per-database or per-user priv. So no
admin will go for that.
The other alternative, I guess, is for me to ask the admin to execute a "flush table" on
my table from time to time, every few days, say.
Do I have the correct understanding of the situation? And how do people usually deal with
Thanks so much! I apologize for the newb-level question and really appreciate your help.