GNU/Linux >> Tutoriels Linux >  >> Linux

Créer un nouvel utilisateur et accorder des autorisations dans MySQL

L'article décrit les autorisations de la base de données MySQL®. Il décrit également comment créer un nouvel utilisateur et accorder ou révoquer des autorisations.

Utiliser les commandes MySQL

Voici des suggestions utiles pour les commandes MySQL.

Majuscules

Vous n'êtes pas obligé de taper les commandes MySQL en majuscules. Les deux commandes suivantes fonctionnent aussi bien :

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;
create user ‘username’@’localhost’ identified by ‘password’;

Cependant, l'utilisation de majuscules vous aide à séparer la syntaxe de la commande des données ou des éléments variables de la commande.

paramètre localhost

Vous pouvez également modifier le localhost élément, qui permet à l'utilisateur d'accéder à la base de données à partir de l'ordinateur sur lequel vous vous trouvez actuellement. Si vous souhaitez autoriser l'utilisateur à accéder à la base de données de n'importe où, utilisez un % symbole au lieu de localhost . Si vous souhaitez que l'utilisateur se connecte à la base de données à partir d'une adresse IP spécifique, insérez cette adresse IP à la place. Par exemple username’@’22.111.000.34 .

Par conséquent, vous pouvez créer un utilisateur avec l'une des commandes suivantes :

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';CREATE USER 'username'@'%' IDENTIFIED BY 'password';CREATE USER 'username'@'22.111.000.34' IDENTIFIED BY 'password';

Remarque : Si vous souhaitez que l'utilisateur puisse accéder à la base de données à partir de deux emplacements spécifiques, et uniquement à ces emplacements, vous devez créer l'utilisateur deux fois. Par exemple, supposons que vous souhaitiez que votre utilisateur puisse se connecter à la base de données à partir de l'ordinateur sur lequel vous vous trouvez actuellement ainsi qu'une adresse IP spécifique. Tout d'abord, créez l'utilisateur en utilisant le localhost emplacement dans la commande. Ensuite, recréez l'utilisateur en utilisant l'adresse IP spécifique.

Autorisations

Les autorisations courantes incluent les éléments suivants :

  • TOUS LES PRIVILÈGES :accorde à l'utilisateur un accès complet à une base de données désignée ou autorise un accès global à travers le système si vous ne désignez pas de base de données. Cette autorisation inclut toutes les autorisations suivantes, à l'exception de GRANT .

  • CRÉER :permet à l'utilisateur de créer de nouvelles tables ou bases de données.

  • DÉPOSER :permet à l'utilisateur de supprimer des tables ou des bases de données.

  • SUPPRIMER :permet à l'utilisateur de supprimer des lignes des tables.

  • INSÉRER :permet à l'utilisateur d'insérer des lignes dans les tableaux.

  • SÉLECTIONNER  :Accorde à l'utilisateur des privilèges en lecture seule sur les bases de données désignées.

  • MISE À JOUR :permet à l'utilisateur de mettre à jour les lignes du tableau.

  • VERROUILLER LES TABLES :permet à l'utilisateur de verrouiller les tables.

  • AFFICHER LES BASES DE DONNÉES :Permet à l'utilisateur de lister toutes les bases de données.

  • OPTION DE SUBVENTION :permet à l'utilisateur d'accorder ou de supprimer les privilèges d'autres utilisateurs. Vous devez accorder cette autorisation explicitement.

Connexion

Connectez-vous à MySQL en tant qu'utilisateur root à l'aide de la commande suivante :

mysql -u root -p

Le système vous demande le mot de passe root pour MySQL, qui est différent de votre mot de passe root pour le serveur lui-même.

Remarque : Si vous avez des privilèges sudo sur le serveur, vous pouvez probablement trouver le mot de passe root MySQL dans le ~/.my.cnf fichier, en tant qu'utilisateur root.

Créer un nouvel utilisateur

Maintenant que vous êtes connecté à MySQL en tant que root, vous pouvez créer votre utilisateur. Choisissez un nom d'utilisateur que vous aimez.Saisissez la commande suivante, en remplaçant username et password avec le nom d'utilisateur et le mot de passe que vous avez choisis :

CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;

En cas de succès, le système affiche Requête OK .

Accorder l'autorisation

Utilisez le format suivant pour accorder des privilèges utilisateur dans MySQL :

GRANT permission1, permission2, permission3 ON databasename.tablename TO ‘newuser’@’localhost’;

Si vous souhaitez simplement donner à l'utilisateur l'accès à toutes les tables d'une base de données, utilisez databasename.* au lieu de databasename.tablename . De même, si vous souhaitez que l'utilisateur ait un ensemble particulier de privilèges sur toutes les tables de toutes les bases de données, utilisez *.* .

Exemples d'octroi de privilèges :

GRANT ALL PRIVILEGES ON databasename.* TO ‘newuser’@’%’;

GRANT ALL PRIVILEGES, GRANT OPTION ON *.* TO ‘newuser’@’22.111.000.34’;

GRANT SELECT, SHOW DATABASES, LOCK TABLES ON databasename.* TO ‘newuser’@’localhost’;

Révoquer les autorisations

Lorsque vous devez révoquer les privilèges d'un utilisateur, utilisez le format suivant :

REMOVE permission1, permission2, permission3 ON databasename.* FROM ‘newuser’@’localhost’;

Vérifier les autorisations

Pour vérifier les privilèges d'un utilisateur, utilisez la commande suivante :

SHOW GRANTS newuser;

Appliquer les autorisations

Après avoir créé un utilisateur, accordé ou retiré des privilèges, exécutez la commande suivante :

FLUSH PRIVILEGES;

Cette commande recharge les tables avec les nouveaux utilisateurs et privilèges inclus. Considérez-le comme l'enregistrement de vos modifications.

Se déconnecter

Une fois les modifications terminées, utilisez la commande suivante pour quitter MySQL en toute sécurité :

EXIT;

Linux
  1. Comment ajouter un nouvel utilisateur MySQL et accorder des privilèges d'accès

  2. Créer une nouvelle base de données et l'utiliser dans MySQL/MariaDB

  3. Howto MySQL :Créer un utilisateur et accorder une autorisation à une base de données

  4. Comment créer une base de données MySQL et son utilisateur dans CWP ?

  5. Créer une base de données MySQL et un utilisateur dans cPanel

Comment créer une base de données et un utilisateur MySQL dans cPanel ?

Comment créer une nouvelle base de données et un utilisateur MySQL ?

Comment puis-je créer une nouvelle base de données MySQL dans cPanel ?

Gestion des autorisations des utilisateurs MySQL dans cPanel

Comment créer et gérer de nouveaux utilisateurs sous Linux

Créer et configurer un utilisateur dans MSSQL