Syntax:
SHOW GRANTS [FOR user]

This statement displays the GRANT statement or statements that must be
issued to duplicate the privileges that are granted to a MySQL user
account. SHOW GRANTS requires the SELECT privilege for the mysql
database, except to see the privileges for the current user.

For output that includes an IDENTIFIED BY PASSWORD clause displaying an
account password hash value, the SUPER privilege is required to see the
actual hash value. Otherwise, the value displays as <secret>.

To name the account, use the same format as for the GRANT statement;
for example, 'jeffrey'@'localhost'. If you specify only the user name
part of the account name, a host name part of '%' is used. For
additional information about specifying account names, see [HELP
GRANT].

mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+

To display the privileges granted to the account that you are using to
connect to the server, you can use any of the following statements:

SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();

If SHOW GRANTS FOR CURRENT_USER (or any of the equivalent syntaxes) is
used in DEFINER context, such as within a stored procedure that is
defined with SQL SECURITY DEFINER), the grants displayed are those of
the definer and not the invoker.

SHOW GRANTS displays only the privileges granted explicitly to the
named account. Other privileges that might be available to the account
are not displayed. For example, if an anonymous account exists, the
named account might be able to use its privileges, but SHOW GRANTS will
not display them.

URL: http://dev.mysql.com/doc/refman/5.5/en/show-grants.html

