Como conhecer todos os usuários que podem acessar um banco de dados?
19
Conecte-se à instância do mysql como um usuário administrador (geralmente como root) e dê o seguinte comando ...
select user from mysql.db where db='DB_NAME';
select user from mysql.db
sem qualificação retorna 2 linhas em branco também.A resposta de user79644 fornece aos usuários privilégios no nível do banco de dados, mas sentirá falta dos usuários com apenas privilégios no nível da tabela, no nível da coluna ou no nível do procedimento. Para encontrar todos eles, use as seguintes instruções:
Pelo menos no MySQL 5.5, parece que ter privilégios no nível da coluna implica que você possui privilégios no nível da tabela. Ter privilégios no nível da tabela não implica que você tenha privilégios no nível do banco de dados. Não tenho certeza sobre os privilégios no nível do procedimento.
fonte
ERROR 1046 (3D000): No database selected
mysql
banco de dados. É aí que todos os dados usados pelo MySQL são armazenados. Dê o comandoUSE mysql;
de adicionar o nome do banco de dados aos nomes da tabela, comoFROM mysql.db
ouFROM mysql.tables_priv
fonte
Você deve ter em mente que o MySQL
GRANT
para bancos de dados pode conter caracteres curinga . Isso deve ser levado em consideração usandoLIKE
a consulta:fonte