Créer, modifier ou supprimer un utilisateur avec la console SQL
Sommaire
I. Présentation
Par défaut, on se connecte à une base de données avec l’utilisateur « Root » qui dispose de tous les privilèges, ce qui peut être un trou de sécurité important si vous vous faites pirater votre serveur. Fort heureusement, il est possible de créer plusieurs utilisateurs à partir de l’interface PhpMyAdmin, mais pas seulement. En effet, grâce à la console MySQL il est possible de gérer les utilisateurs c'est-à-dire d’en créer, de les modifier et de les supprimer, de manière simple et efficace. C’est ce que nous allons voir dans ce tutoriel.
II. Informations sur le serveur et les utilisateurs
Serveur : localhost
Serveur web : WAMP
Utilisateur : root
Utilisateur à créer : neoflow, flo, test et admin
III. Exécutez la console
Avec une Invite de commandes, se positionner dans le répertoire contenant « mysql.exe » :
cd "c:\wamp\bin\mysql\mysql5.1.36\bin"
- Exécutez “mysql.exe” en utilisant des paramètres d’authentification SANS mot de passe :
mysql.exe –u root
- Exécutez “mysql.exe” en utilisant des paramètres d’authentification AVEC mot de passe :
mysql.exe –u root –p mot_de_passe
IV. Créer un utilisateur
Il y a trois manières de créer un utilisateur : sans mot de passe, avec mot de passe que vous pouvez saisir en clair ou saisir le résultat du hachage de ce mot de passe.
- Syntaxe pour créer un utilisateur SANS mot de passe :
mysql> CREATE USER ‘identifiant’@’serveur’;
- Exemple avec l’utilisateur « neoflow » :
mysql> CREATE USER ‘neoflow’@’localhost’;
- Syntaxe pour créer un utilisateur AVEC mot de passe saisit en clair :
mysql> CREATE USER ‘identifiant’@’serveur’ IDENTIFIED BY ‘mot_de_passe’;
- Exemple avec l’utilisateur « flo » et le mot de passe « password » :
mysql> CREATE USER ‘flo’@’localhost’ IDENTIFIED BY ‘password’;
- Syntaxe pour créer un utilisateur AVEC mot de passe saisit avec le résultat du hachage :
En précisant « PASSWORD » devant le mot de passe cela permet de saisir directement le résultat du hachage du mot de passe que l’on souhaite définir pour l’utilisateur. Cela évite tout simplement de saisir en clair le mot de passe.
mysql> CREATE USER ‘identifiant’@’serveur’ IDENTIFIED BY ‘mot_de_passe’;
- Exemple avec l’utilisateur « admin »
Le résultat de « password » donne « *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 », il faudra donc saisir :
mysql> CREATE USER ‘admin’@’localhost’ IDENTIFIED BY PASSWORD ‘*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19’;
V. Renommer un utilisateur
Vous pouvez renommer un utilisateur c'est-à-dire modifier le nom de l’utilisateur et le nom ou l’IP du serveur. Evidemment, vous pouvez modifier uniquement le nom de l’utilisateur ou le serveur.
- Syntaxe pour renommer un utilisateur :
mysql> RENAME USER ‘identifiant’@’serveur’ TO ‘nouveau_identifiant’@’nouveau_serveur’;
- Exemple avec l’utilisateur « flo » que l’on renomme en « btsig » :
mysql> RENAME USER ‘flo’@’localhost’ TO ‘btsig’@’localhost’;
VI. Supprimer un utilisateur
Il est également possible de supprimer un utilisateur de la base de données, ce qui permet d’en créer et d’en supprimer à volonté.
- Syntaxe pour supprimer un utilisateur
mysql> DROP USER ‘identifiant’@’serveur’;
- Exemple avec la suppression de l’utilisateur « admin »
mysql> DROP USER ‘admin’@’localhost’;
VII. Définir ou modifier un mot de passe à un utilisateur
Si vous ne définissez pas de mot de passe à un utilisateur lors de sa création il est possible d’en définir un ultérieurement. Il est également possible de modifier le mot de passe d’un utilisateur, de la même manière que si c’est la première fois que l’on définit un mot de passe :
- Syntaxe pour supprimer un utilisateur :
mysql> SET PASSWORD FOR ‘identifiant’@’serveur’ = PASSWORD(‘mot_de_passe’);
- Exemple en attribuant un mot de passe à l’utilisateur « test » :
mysql> SET PASSWORD FOR ‘test’@’localhost’ = PASSWORD(‘mot_de_passe’);
N'hésitez pas à poser vos questions en commentaire ou dans le forum et à donner votre avis !
salut
je me nomme ANDERSON et je te remercie pour le tuo. Mais j’aimerai savoir comment créer de manière personnelle et automatique un matricule sous java.
Exemple:
Matricule de l’etudiant: année/filiere/numero (’17/FCGE/10′)
comment désactiver utilisateur sans le supprimer dans mysql???