MySQL est un système de gestion de base de données populaire et largement utilisé qui stocke et organise les données et permet aux utilisateurs de les récupérer. Il est livré avec un vaste éventail d’options qui accordent aux utilisateurs certaines autorisations sur les tables et les bases de données.
Dans ce guide, vous apprendrez à créer un nouvel utilisateur et à accorder des autorisations dans le MySQL base de données.
Comment créer un nouvel utilisateur dans MySQL
Pour créer un nouvel utilisateur, connectez-vous d’abord au shell MySQL.
$ sudo mysql -u root -p
Fournissez le mot de passe sudo suivi du mot de passe fourni lorsque configuration de la base de données MySQL et frapper ENTRER. Par la suite, vous obtiendrez cette invite.
Pour créer un nouvel utilisateur, utilisez la syntaxe ci-dessous:
MariaDB [none]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Par exemple, pour créer un nouvel utilisateur appelé ‘tecmint‘dans la base de données, appelez la commande:
MariaDB [none]> CREATE USER 'tecmint'@'localhost' IDENTIFIED BY 'QkYKmw$5tec';
Quelques points à garder à l’esprit
Lors de l’ajout d’un utilisateur localement, c’est-à-dire sur le système que vous avez installé MySQL, l’hôte de l’utilisateur est spécifié comme localhost, et non l’adresse IP. Le mot-clé ‘localhost‘ Se traduit par ‘cet ordinateur‘et MySQL le traite de manière unique. Fondamentalement, localhost est utilisé par le client mysql pour établir une connexion au serveur de base de données MySQL installé localement.
Jusqu’à présent, le tecmint l’utilisateur n’a aucune autorisation pour interagir avec les bases de données. En fait, l’utilisateur ne peut même pas accéder au shell MySQL.
Pour accorder à l’utilisateur un accès complet à toutes les bases de données, y compris les tables, exécutez.
MariaDB [none]> GRANT ALL PRIVILEGES ON * . * TO 'tecmint'@'localhost';
Dans la commande ci-dessus, les astérisques pointent respectivement vers la base de données et la table auxquelles l’utilisateur peut accéder. Il accorde à l’utilisateur tous les droits sur la base de données – lis, écrire, Éditer, et exécuter y compris l’exécution de toutes les tâches sur d’autres bases de données et tables.
Jusqu’à présent, nous avons accordé à l’utilisateur un accès complet à la base de données. Bien que cela soit pratique pour expliquer les concepts de MySQL, ce n’est généralement pas recommandé car cela pourrait poser un risque de sécurité pour vos bases de données. Pensez simplement à ce qui pourrait se passer si un pirate informatique avait saisi le mot de passe de l’utilisateur. Nous allons poursuivre et discuter de la manière d’attribuer des autorisations spécifiques dans la section suivante.
Lorsque vous avez terminé d’attribuer des autorisations à l’utilisateur, rechargez tous les privilèges comme indiqué pour que les modifications prennent effet.
MariaDB [none]> FLUSH PRIVILEGES
Comment accorder différentes autorisations utilisateur
Voici une liste des autorisations possibles que vous pouvez accorder aux utilisateurs:
- TOUS LES PRIVILÈGES – Comme vu précédemment, cela accorde à un utilisateur MySQL un accès complet à une base de données spécifique.
- CRÉER – Permet aux utilisateurs de créer de nouvelles bases de données ou tables.
- LAISSEZ TOMBER – Permet aux utilisateurs de supprimer des bases de données ou des utilisateurs.
- INSÉRER – Permet aux utilisateurs d’insérer des lignes dans les tableaux.
- EFFACER – Permet aux utilisateurs de supprimer des lignes des tables.
- SÉLECTIONNER – avec l’autorisation ‘SELECT’, les utilisateurs peuvent lire le contenu d’une table.
- METTRE À JOUR – Permet aux utilisateurs de mettre à jour les lignes d’une table.
- OPTION DE SUBVENTION – Les utilisateurs peuvent accorder ou supprimer les privilèges d’autres utilisateurs.
Pour accorder une autorisation utilisateur spécifique, utilisez la syntaxe:
MariaDB [none]> GRANT permission_type ON database_name.table_name TO 'username'@'localhost';
En outre, vous pouvez attribuer des autorisations à toutes les tables d’une base de données avec un seul astérisque, comme indiqué:
MariaDB [none]> GRANT permission_type ON database_name.* TO 'username'@'localhost';
Par exemple, pour attribuer SÉLECTIONNER autorisations pour ‘tecmint‘utilisateur sur toutes les tables de la base de données testdb, exécutez la commande.
MariaDB [none]> GRANT SELECT ON testdb.* TO 'tecmint'@'localhost';
Puis supprimez les privilèges pour que les modifications prennent effet.
MariaDB [none]> FLUSH PRIVILEGES;
En outre, vous pouvez attribuer plusieurs autorisations à la fois en les séparant par une virgule, comme indiqué.
MariaDB [none]> GRANT INSERT, UPDATE ON testdb.* TO 'tecmint'@'localhost';
Comment révoquer les autorisations MySQL
Pour révoquer les autorisations d’un utilisateur, utilisez la syntaxe:
MariaDB [none]> REVOKE permission_type ON database_name.table_name FROM 'username'@'localhost';
Par exemple, pour révoquer INSÉRER autorisations de l’utilisateur ‘tecmint‘, exécutez la commande.
MariaDB [none]> REVOKE INSERT ON testdb.* FROM tecmint'@'localhost'; MariaDB [none]> FLUSH PRIVILEGES
Pour avoir un aperçu des autorisations actuelles d’un utilisateur, exécutez:
MariaDB [none]> SHOW GRANTS FOR 'username'@'localhost';
À partir de la sortie ci-dessous, nous pouvons voir que le INSÉRER l’autorisation a été supprimée de la ‘tecmint‘utilisateur partant uniquement SÉLECTIONNER et METTRE À JOUR droits sur le testdb base de données.
Pour tester la connexion au shell MySQL avec le nouvel utilisateur, déconnectez-vous d’abord.
MariaDB [none]> quit;
Puis reconnectez-vous.
$ sudo mysql -u tecmint -p
Fournissez le mot de passe de l’utilisateur et appuyez sur ENTRER pour accéder au shell.
Pour supprimer un utilisateur, utilisez le LAISSEZ TOMBER comme vous le feriez lors de la suppression d’une base de données.
MariaDB [none]> DROP USER 'username'@'localhost';
Vous pouvez également lire les articles suivants sur MySQL:
Conclusion
Espérons qu’à présent, vous pourrez créer des utilisateurs dans vos serveurs de base de données MySQL et attribuer ou révoquer facilement des autorisations.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer:
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint! pour rechercher ou parcourir les milliers d’articles publiés disponibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en guise de remerciement.
Nous sommes reconnaissants de votre soutien sans fin.
.