Étape 3 : Accorder des droits d’accès aux nouveaux utilisateurs MySQL
Après avoir créé un nouvel utilisateur MySQL, vous devez lui accorder les autorisations appropriées. Vous pouvez accorder des autorisations à l’aide de la commande GRANT. Le format général de cette commande est le suivant :
GRANT privileges ON database.table TO ‘username »host’ ;
Ici, vous devez remplacer les privileges, database, table, username et host par les valeurs correspondantes. privileges s’agit du droit d’accès que vous souhaitez accorder à un utilisateur. Vous pouvez accorder des droits d’accès spécifiques tels que SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, EXECUTE, GRANT OPTION, etc.
Vous pouvez également accorder des droits d’accès globaux tels que ALL PRIVILEGES ou ALL qui inclut tous les droits d’accès existants. database s’agit du nom de la base de données à laquelle vous souhaitez accorder des droits d’accès. Vous pouvez utiliser * pour afficher toutes les bases de données. table s’agit du nom de la table à laquelle vous souhaitez accorder des droits d’accès. Vous pouvez également utiliser * pour afficher toutes les tables. username et host sont des noms d’utilisateur et des hôtes que vous avez créés auparavant.
Par exemple, si vous souhaitez accorder des droits d’ accès SELECT, INSERT, UPDATE et DELETE à user1 utilisateurs sur toutes les tables de db1 base de données, vous pouvez utiliser la commande suivante :
GRANT SELECT, INSERT, UPDATE, DELETE ON db1.* TO 'user1''%';
Si la commande réussit, un message semblable à celui-ci s’affiche :
Query OK, 0 rows affected (0.01 sec)
Vous pouvez vérifier si les autorisations ont été accordées correctement à l’aide de la commande SHOW GRANTS :
SHOW GRANTS FOR 'user1''%';
Cette commande affichera tous les droits d’accès détenus par l’utilisateur user1. Vous devriez voir des résultats comme celui-ci :
+--------------------------------------------------------------+
| Grants for user1% |
+--------------------------------------------------------------+
| GRANT USAGE ON *.* TO `user1``%` |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `db1`.* TO `user1``%`|
+--------------------------------------------------------------+
2 rows in set (0.00 sec)
Ici, vous pouvez voir que user1 utilisateur dispose des droits d’accès SELECT, INSERT, UPDATE et DELETE sur toutes les tables de db1 base de données.
Étape 4 : Modifier ou révoquer les droits d’accès d’un utilisateur MySQL
Si vous souhaitez modifier ou révoquer les autorisations d’un utilisateur MySQL, vous pouvez utiliser la commande REVOKE. Le format général de cette commande est le suivant :
REVOKE privileges ON database.table FROM ‘username »host’ ;
Ici, vous devez remplacer les privileges, database, table, username et host par les valeurs correspondantes. privileges s’agit du droit d’accès que vous souhaitez modifier ou révoquer à l’utilisateur. Vous pouvez utiliser des droits d’accès spécifiques ou globaux comme décrit précédemment. database, table, username et host sont les noms des bases de données, des tables, des utilisateurs et des hôtes auxquels vous avez précédemment accordé des droits d’accès.
Par exemple, si vous souhaitez révoquer les autorisations DELETE d’un utilisateur user1 sur toutes les tables de db1 base de données, vous pouvez utiliser la commande suivante :
REVOKE DELETE ON db1.* FROM 'user1'''%';
Si la commande réussit, un message semblable à celui-ci s’affiche :
Query OK, 0 rows affected (0.01 sec)
Vous pouvez vérifier si les droits d’accès ont été révoqués correctement à l’aide de la commande SHOW GRANTS :
SHOW GRANTS FOR 'user1''%';
Cette commande affichera tous les droits d’accès détenus par l’utilisateur user1. Vous devriez voir des résultats comme celui-ci :
+--------------------------------------------------------------+ | Grants for user1% | +--------------------------------------------------------------+ | GRANT USAGE ON *.* TO `user1``%` | | GRANT SELECT, INSERT, UPDATE ON `db1`.* TO `user1``%` | +--------------------------------------------------------------+ 2 rows in set (0.00 sec)
Ici, vous pouvez voir que DELETE droits d’accès ont été révoqués pour user1 utilisateurs sur toutes les tables de db1 base de données.