Maison > Article > base de données > Comment créer des utilisateurs et accorder des autorisations dans MySQL
Comment créer un utilisateur MySQL et accorder des autorisations ? Pour une bonne sécurité, des comptes d'utilisateurs distincts doivent être créés pour chaque application plutôt que d'accéder à la base de données en tant que root. Cela garantira que les applications ne peuvent pas accéder aux bases de données d'autres applications. Par conséquent, les droits d'administrateur MySQL (root) sont requis pour créer des comptes d'utilisateurs et attribuer des autorisations à la base de données.
Pour information, le compte root MySQL est différent du compte root système et il n'y a aucune relation entre eux. (Recommandations associées : Tutoriel MySQL)
1. Créez un nouvel utilisateur dans MySQL
Connectez-vous au serveur MySQL en utilisant l'utilisateur root avec accédez au shell et créez un nouvel utilisateur nommé "rahul". La commande suivante autorise uniquement l'accès au serveur MySQL de l'utilisateur Rahul à partir du système localhost.
mysql> CREATE USER 'rahul'@'localhost' IDENTIFIED BY 'password';
Attribuez maintenant des autorisations à des bases de données spécifiques. La commande suivante permettra à l'utilisateur rahul d'avoir toutes les autorisations sur la base de données "mydb".
mysql> GRANT ALL ON mydb.* TO 'rahul'@'localhost';
Après avoir créé l'utilisateur et attribué les autorisations appropriées, assurez-vous de recharger les autorisations.
mysql> FLUSH PRIVILEGES;
2. Créez un utilisateur MySQL accessible à distance
Autorisez n'importe quel utilisateur à se connecter au serveur MySQL à partir d'un système distant. Vous devez spécifier le nom d'hôte ou l'adresse IP du système distant. Vous pouvez également utiliser % pour autoriser n'importe quel hôte
mysql> CREATE USER 'rahul'@'123.45.67.89' IDENTIFIED BY 'password'; mysql> CREATE USER 'rahul'@'%' IDENTIFIED BY 'password'; mysql> FLUSH PRIVILEGES;
3. Accordez des autorisations utilisateur spécifiques dans MySQL
Ce qui suit est une liste d'autorisations courantes pour les utilisateurs MySQL. Visitez ici pour une liste complète des autorisations pour les utilisateurs MySQL.
TOUS [PRIVILEGES] - Accorde à l'utilisateur toutes les autorisations.
CREATE - Accorde à l'utilisateur l'autorisation de créer de nouvelles bases de données et tables.
DROP - Accorde à l'utilisateur l'autorisation de supprimer des bases de données et des tables.
DELETE - Accorde à l'utilisateur l'autorisation de supprimer des lignes du tableau.
ALTER - Accorde à l'utilisateur l'autorisation de modifier la structure de la table.
INSERT - Accorde à l'utilisateur l'autorisation d'insérer (ajouter) des lignes dans le tableau.
SELECT - Accorde à l'utilisateur l'autorisation d'exécuter la commande select pour lire les données de la table.
MISE À JOUR - Accorde à l'utilisateur l'autorisation de mettre à jour les données du tableau.
EXECUTE - Accorde à l'utilisateur l'autorisation d'exécuter la routine stockée.
FILE - Accorde à l'utilisateur l'accès aux fichiers sur l'hôte du serveur.
OPTION D'ACCORD - Accorde à un utilisateur la possibilité d'accorder ou de supprimer des autorisations à d'autres utilisateurs.
Ici, vous pouvez spécifier des autorisations séparées par des virgules au lieu de toutes les autorisations. Par exemple, autorisez l'accès CREATE, DELETE, INSERT, UPDATE à 'rahul'@'localhost' sur la base de données mydb.
mysql> GRANT CREATE,DELETE,INSERT,UPDATE ON mydb.* TO 'rahul'@'localhost'; mysql> FLUSH PRIVILEGES;
4. Révoquer les autorisations utilisateur dans MySQL
Utilisez la commande REVOKE pour supprimer toute autorisation spécifique de l'utilisateur. Par exemple, supprimez l'autorisation DELETE de l'utilisateur 'rahul'@'localhost' sur la base de données mydb.
mysql> REVOKE DELETE ON mydb.* TO 'rahul'@'localhost'; mysql> FLUSH PRIVILEGES;
5. Supprimer des utilisateurs dans MySQL
Vous pouvez utiliser la commande DROP pour supprimer n'importe quel utilisateur de MySQL. Par exemple, pour supprimer l'utilisateur 'rahul'@'localhost', vous pouvez utiliser la commande suivante.
mysql> DROP USER 'rahul'@'localhost'; mysql> FLUSH PRIVILEGES;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!