MySQL est un système de gestion de base de données relationnelle open-source utilisé pour stocker, gérer et récupérer des données. Il est fréquemment utilisé dans les applications web, en particulier celles qui sont créées à l’aide de langages de script tels que PHP.
Pour garantir la sécurité de votre base de données MySQL, il est essentiel de créer de nouveaux utilisateurs avec les autorisations nécessaires et de révoquer tous les privilèges superflus.
Dans cet article, nous allons voir étape par étape comment créer un nouvel utilisateur et lui accorder des autorisations dans MySQL.
Avant de poursuivre les instructions, assurez-vous que MySQL est installé sur votre système et que vous disposez d’un compte root avec des privilèges d’administration. Si vous n’avez pas installé MySQL, vous pouvez suivre ce tutoriel sur l’installation et la sécurisation de MySQL sur Ubuntu.
Une fois que MySQL est installé, connectez-vous au serveur MySQL en tant qu’utilisateur root en exécutant la commande suivante :
mysql -u root -p
Cette commande vous demandera d’entrer le mot de passe de l’utilisateur root pour accéder à l’invite de MySQL.
Création d’un nouvel utilisateur dans MySQL :
Pour créer un nouvel utilisateur dans MySQL, vous devez suivre les étapes suivantes :
Étape 1 : Ouvrir l’invite MySQL
Pour ouvrir l’invite de commande MySQL, vous devez suivre les étapes suivantes :
- Ouvrez l’invite de commande ou le terminal sur votre ordinateur. Selon votre système d’exploitation, vous pouvez le faire en recherchant « Invite de commande » ou « Terminal » dans votre menu d’applications ou en appuyant sur la touche Windows + R de votre clavier, en tapant « cmd » ou « cmd.exe » (sans les guillemets) dans la boîte d’exécution qui apparaît, et en appuyant sur Entrée.
- Une fois l’invite de commande ou le terminal ouvert, tapez « mysql -u [nom d’utilisateur] -p » (sans les guillemets), où [nom d’utilisateur] est le nom d’utilisateur que vous utilisez pour accéder à MySQL.
- Appuyez sur Entrée. Vous serez invité à saisir le mot de passe du nom d’utilisateur spécifié. Saisissez le mot de passe et appuyez à nouveau sur Entrée.
- Si le nom d’utilisateur et le mot de passe sont corrects, vous devriez maintenant être connecté à l’invite de commande MySQL.
Note : Si vous avez des difficultés à accéder à l’invite de commande MySQL, assurez-vous que MySQL est installé sur votre ordinateur et que le serveur MySQL est en cours d’exécution.
Etape 2 : Créer un nouveau compte utilisateur en utilisant l’instruction « CREATE USER ».
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password' ;
Dans cette instruction, remplacez « new_user » par le nom de l’utilisateur que vous voulez créer et « password » par un mot de passe fort.
Étape 3 : Accorder des privilèges au nouvel utilisateur
Après avoir créé un nouveau compte utilisateur, vous pouvez lui accorder des privilèges à l’aide de l’instruction « GRANT ». Ce qui suit montre comment accorder au nouvel utilisateur tous les privilèges sur toutes les bases de données.
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' ;
Dans cette déclaration, remplacez « new_user » par le nom de l’utilisateur que vous avez créé à l’étape 2. L’astérisque (*) dans la déclaration représente toutes les bases de données et tables du serveur MySQL. Remplacez également « localhost » par le nom d’hôte ou l’adresse IP du serveur à partir duquel l’utilisateur se connectera si vous souhaitez activer les connexions à distance.
Étape 4 : Supprimer les privilèges
Après avoir accordé les permissions au nouvel utilisateur, sauvegardez et exécutez la commande suivante pour vider les privilèges et vous assurer que le serveur charge les permissions du nouvel utilisateur :
FLUSH PRIVILEGES ;
Déconnectez-vous de l’invite MySQL en exécutant la commande suivante :
exit
En suivant les étapes ci-dessus, vous avez créé un nouvel utilisateur dans MySQL et vous lui avez accordé tous les privilèges sur toutes les bases de données.
Octroi de privilèges spécifiques à un utilisateur MySQL :
En général, accorder tous les privilèges à un utilisateur n’est pas toujours une bonne pratique. Vous pouvez accorder des privilèges spécifiques à un utilisateur en fonction de ses besoins.
Voici un exemple de la façon d’accorder un privilège spécifique à un utilisateur :
GRANT SELECT, INSERT ON database_name.* TO 'new_user'@'localhost' ;
Dans cet exemple, vous accordez à l’utilisateur « new_user » des privilèges de sélection et d’insertion sur toutes les tables de la base de données nommée « database_name ».
Révoquer des privilèges dans MySQL :
Pour révoquer les privilèges que vous avez accordés précédemment, vous pouvez utiliser l’instruction « REVOKE ».
Voici un exemple de la manière dont on peut révoquer les privilèges d’un utilisateur MySQL :
REVOKE SELECT, INSERT ON database_name.* FROM 'new_user'@'localhost' ;
Dans cet exemple, vous avez révoqué les privilèges SELECT et INSERT de l’utilisateur « new_user » de la base de données nommée « database_name ».
En conclusion, en suivant les instructions ci-dessus, vous avez appris à créer un nouvel utilisateur dans MySQL, à lui accorder des privilèges, à lui accorder des privilèges spécifiques et à révoquer des privilèges. Ces étapes vous aideront à gérer efficacement votre base de données MySQL, à améliorer la sécurité et à empêcher tout accès non autorisé à vos données.
Veillez toujours à définir des mots de passe forts pour vos utilisateurs, à limiter les privilèges au strict nécessaire et à vérifier régulièrement les comptes utilisateurs afin de garantir la sécurité de votre base de données. Vous pouvez vous référer à la documentation MySQL pour des options plus avancées et des paramètres de configuration pour sécuriser votre base de données MySQL.