¿Cómo mostrar la concesión definida para un usuario de MySQL?
Utilice MOSTRAR SUBVENCIONES para esto. La siguiente es la sintaxis:
SHOW GRANTS FOR 'yourUserName'@'yourHostName';
Mostremos el nombre de usuario y el nombre de host de la tabla MySQL.user.
mysql> select user,host from MySQL.user;
Esto producirá el siguiente resultado:
+------------------+-----------+
| user | host |
+------------------+-----------+
| Bob | % |
| Charlie | % |
| Robert | % |
| User2 | % |
| mysql.infoschema | % |
| mysql.session | % |
| mysql.sys | % |
| root | % |
| @UserName@ | localhost |
| Adam Smith | localhost |
| Chris | localhost |
| David | localhost |
| James | localhost |
| John | localhost |
| John Doe | localhost |
| User1 | localhost |
| am | localhost |
| hbstudent | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
+------------------+-----------+
20 rows in set (0.00 sec)
Usemos MOSTRAR SUBVENCIONES para mostrar la concesión para un usuario específico:
mysql> SHOW GRANTS FOR 'Robert'@'%
Esto producirá el siguiente resultado:
+----------------------------------------------------------------------+
| Grants for Robert@% |
+----------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Robert`@`%` |
| GRANT ALL PRIVILEGES ON `sample`.* TO `Robert`@`%` WITH GRANT OPTION |
| GRANT EXECUTE ON `web`.* TO `Robert`@`%` |
+----------------------------------------------------------------------+
3 rows in set (0.05 sec)
Arriba, el ejemplo SHOW GRANTS devuelve la información de concesión para el usuario Robert en el host, que MySQL asume '%'.