O privilégio USAGE no mysql significa simplesmente que não há privilégios para o usuário 'phpadmin'@'localhost' definido no nível global
*.*
. Além disso, o mesmo usuário tem privilégios ALL no banco de dados phpmyadmin phpadmin.*
. Portanto, se você deseja remover todos os privilégios e começar totalmente do zero, faça o seguinte:
-
Revogue todos os privilégios no nível do banco de dados:
REVOKE ALL PRIVILEGES ON phpmyadmin.* FROM 'phpmyadmin'@'localhost';
-
Solte o usuário 'phpmyadmin'@'localhost'
DROP USER 'phpmyadmin'@'localhost';
O procedimento acima removerá totalmente o usuário da sua instância, isso significa que você pode recriá-lo do zero.
Para lhe dar um pouco de fundo sobre o que foi descrito acima:assim que você criar um usuário, o
mysql.user
tabela será preenchida. Se você olhar um registro nele, verá o usuário e todos os privilégios definidos como 'N'
. Se você fizer um show grants for 'phpmyadmin'@'localhost';
você verá, a já familiar, saída acima. Simplesmente traduzido para "sem privilégios em nível global para o usuário". Agora sua concessão ALL
para este usuário no nível do banco de dados, isso será armazenado na tabela mysql.db
. Se você fizer um SELECT * FROM mysql.db WHERE db = 'nameofdb';
você verá um 'Y'
em cada priv. Acima descrito mostra o cenário que você tem em seu banco de dados no momento. Portanto, ter um usuário que tenha apenas
USAGE
privilégio significa que este usuário pode se conectar, mas além de SHOW GLOBAL VARIABLES; SHOW GLOBAL STATUS;
ele não tem outros privilégios.