Aqui está a documentação do MySQL para SHOW GRANTS
:
SHOW GRANTS [FOR user]
Esta instrução lista a instrução GRANT ou instruções que devem ser emitidas para duplicar os privilégios concedidos a uma conta de usuário do MySQL. A conta é nomeada usando o mesmo formato da declaração GRANT; por exemplo, 'jeffrey' @ 'localhost'. Se você especificar apenas a parte do nome de usuário do nome da conta, será usada uma parte do nome do host de '%'. Para obter informações adicionais sobre a especificação de nomes de contas, consulte a Seção 12.5.1.3, “Sintaxe de GRANT”.
mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
Para listar os privilégios concedidos à conta que você está usando para se conectar ao servidor, você pode usar qualquer uma das seguintes instruções:
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();
A partir do MySQL 5.0.24, se SHOW GRANTS FOR CURRENT_USER (ou qualquer uma das sintaxes equivalentes) for usado no contexto DEFINER, como em um procedimento armazenado definido com o SQL SECURITY DEFINER), as concessões exibidas são as do definidor e não é o invocador.
SHOW GRANTS exibe apenas os privilégios concedidos explicitamente à conta nomeada. Outros privilégios podem estar disponíveis para a conta, mas eles não são exibidos. Por exemplo, se existir uma conta anônima, a conta nomeada poderá usar seus privilégios, mas o SHOW GRANTS não os exibirá.
SHOW GRANTS requer o privilégio SELECT para o banco de dados mysql.
SHOW GRANTS requires the SELECT privilege for the mysql system database, except to display privileges and roles for the current user.