Bug #45182 "Replication Client" Previledges requires reconnect to work
Submitted: 29 May 2009 6:54 Modified: 29 May 2009 7:15
Reporter: mahesh patil Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:5.1.30 OS:Windows (Vista)
Assigned to: CPU Architecture:Any

[29 May 2009 6:54] mahesh patil
Description:
"Show  slave status" query works only after re-connecting again with "Replication client" privilege.

How to repeat:
1) Open two instances of client
2) In one instance create a user like ( this user is connected as  a root user),
GRANT RELOAD, PROCESS, REPLICATION SLAVE ON *.* TO 'user'@'%';

3) Now connect using this user in another instance and execute,
Show slave status;
Error :Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation

4) Now in first instance give permission for Replication client like,
GRANT RELOAD, PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user'@'%'

5) Again execute a same query results in same error although now "Replication Client" Privilege is granted.

6) Even after Executing "FLUSH PRIVILEGES" show slave staus throws an error mentioned in step (3).

7) I closed the second instance and connected again and executed
Show slave status;
with successful result.

Suggested fix:
Re-connect should not be require, It should affect the changes as soon as permission are granted for a user.
[29 May 2009 7:15] Sveta Smirnova
Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://dev.mysql.com/doc/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

According to http://bugs.mysql.com/bug.php?id=45182:

"Global privileges and passwords are unaffected for a connected client. These changes take effect only for subsequent connections. "

So this is not a bug.