web-dev-qa-db-fra.com

Comment modifier les privilèges de l'utilisateur MySQL déjà créé?

Je comprends comment créer un nouvel utilisateur avec des privilèges, mais quelle est la bonne façon de modifier les privilèges des utilisateurs déjà créés?

Nous exécutons un audit de base de données et certains utilisateurs ont beaucoup plus d'accès que nécessaire. De plus, je ne connais pas les mots de passe pour la plupart de ces utilisateurs MySQL, donc je ne veux pas les supprimer et en créer de nouveaux.

70
Clutch

Pour répertorier les utilisateurs:

select user,Host from mysql.user;

Pour afficher les privilèges:

show grants for 'user'@'Host';

Pour modifier les privilèges, révoquez d'abord. Tel que:

revoke all privileges on *.* from 'user'@'Host';

Accordez ensuite les privilèges appropriés selon vos besoins:

grant SELECT,INSERT,UPDATE,DELETE ON `db`.* TO 'user'@'Host';

Enfin, rincez:

flush privileges;

La documentation MySQL est excellente:

https://dev.mysql.com/doc/refman/8.0/en/access-control.html

110
Warner