Android

Comment créer des comptes d'utilisateurs mysql et accorder des privilèges

Autoriser les accès (Forbidden) | WampServer

Autoriser les accès (Forbidden) | WampServer

Table des matières:

Anonim

MySQL est le système de gestion de base de données relationnelle open source le plus populaire. Le serveur MySQL nous permet de créer de nombreux comptes d'utilisateurs et d'accorder les privilèges appropriés pour que les utilisateurs puissent accéder et gérer les bases de données.

Ce didacticiel explique comment créer des comptes d'utilisateurs MySQL et accorder des privilèges.

Avant que tu commences

Nous supposons que vous avez déjà un serveur MySQL ou MariaDB installé sur votre système.

Toutes les commandes sont exécutées à l'intérieur du shell MySQL en tant qu'utilisateur root ou administrateur. Les privilèges minimum requis pour créer des comptes d'utilisateurs et définir leurs privilèges sont CREATE USER et GRANT .

Pour accéder au shell MySQL, tapez la commande suivante et entrez votre mot de passe d'utilisateur racine MySQL lorsque vous y êtes invité:

mysql -u root -p

Créer un nouveau compte utilisateur MySQL

Un compte d'utilisateur dans MySQL se compose d'un nom d'utilisateur et de parties de nom d'hôte.

Pour créer un nouveau compte utilisateur MySQL, exécutez la commande suivante:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password'; Remplacez la valeur d'espace réservé newuser par le nouveau nom d'utilisateur souhaité et la valeur d'espace réservé user_password par le mot de passe utilisateur.

Dans la commande ci-dessus, la partie hostname est définie sur localhost , ce qui signifie que l'utilisateur ne pourra se connecter au serveur MySQL que depuis localhost (c'est-à-dire depuis le système sur lequel MySQL Server s'exécute).

Pour accorder l'accès à partir d'un autre hôte, modifiez la partie du nom d'hôte ( localhost ) avec l'IP de la machine distante. Par exemple, pour accorder l'accès à partir d'une machine avec IP 10.8.0.5 vous devez exécuter:

CREATE USER 'newuser'@'10.8.0.5' IDENTIFIED BY 'user_password';

Pour créer un utilisateur qui peut se connecter à partir de n'importe quel hôte, utilisez le caractère générique '%' comme partie hôte:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'user_password';

Accorder des privilèges à un compte d'utilisateur MySQL

Il existe plusieurs types de privilèges qui peuvent être accordés à un compte d'utilisateur. Vous pouvez trouver une liste complète des privilèges pris en charge par MySQL ici.

Les privilèges les plus couramment utilisés sont:

  • ALL PRIVILEGES - Accorde tous les privilèges à un compte d'utilisateur. CREATE - Le compte d'utilisateur est autorisé à créer des bases de données et des tables. DROP - Le compte d'utilisateur est autorisé à supprimer des bases de données et des tables. DELETE - Le compte d'utilisateur est autorisé à supprimer des lignes d'une table spécifique. INSERT - Le compte d'utilisateur est autorisé à insérer des lignes dans une table spécifique. SELECT - Le compte utilisateur est autorisé à lire une base de données. UPDATE - Le compte d'utilisateur est autorisé à mettre à jour les lignes de table.

Pour accorder des privilèges spécifiques à un compte d'utilisateur, vous pouvez utiliser la syntaxe suivante:

GRANT permission1, permission2 ON database_name.table_name TO 'database_user'@'localhost';

Voici quelques exemples:

  • Accordez tous les privilèges à un compte d'utilisateur sur une base de données spécifique:

    GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

    Accordez tous les privilèges à un compte d'utilisateur sur toutes les bases de données:

    GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

    Accordez tous les privilèges à un compte d'utilisateur sur une table spécifique à partir d'une base de données:

    GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

    Accordez plusieurs privilèges à un compte d'utilisateur sur une base de données spécifique:

    GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Afficher les privilèges du compte utilisateur MySQL

Pour trouver les privilèges accordés à un compte d'utilisateur MySQL spécifique, utilisez l'instruction SHOW GRANTS :

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Révoquer les privilèges d'un compte d'utilisateur MySQL

La syntaxe pour révoquer un ou plusieurs privilèges d'un compte d'utilisateur est presque identique à celle de l'octroi de privilèges.

Par exemple, pour révoquer tous les privilèges d'un compte d'utilisateur sur une base de données spécifique, utilisez la commande suivante:

REVOKE ALL PRIVILEGES ON database_name.* FROM 'database_user'@'localhost';

Supprimer un compte d'utilisateur MySQL existant

Pour supprimer un compte utilisateur MySQL, utilisez l'instruction DROP USER :

DROP USER 'user'@'localhost'

La commande ci-dessus supprimera le compte utilisateur et ses privilèges.

Conclusion

Ce didacticiel ne couvre que les bases, mais il devrait être un bon début pour quiconque souhaite apprendre à créer de nouveaux comptes d'utilisateurs MySQL et à accorder des privilèges.

mysql mariadb