Maison  >  Article  >  base de données  >  Comment ajouter des utilisateurs dans MySQL

Comment ajouter des utilisateurs dans MySQL

青灯夜游
青灯夜游original
2021-12-31 15:27:2012892parcourir

Méthodes pour ajouter des utilisateurs : 1. Utilisez l'instruction "CREATE USER user IDENTIFIED BY 'password';" 2. Utilisez l'instruction "GRANT priv_type ON database.table TO user IDENTIFIED BY 'password';"

Comment ajouter des utilisateurs dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Lorsque MySQL est installé, un utilisateur nommé root sera créé par défaut. Cet utilisateur dispose de super privilèges et peut contrôler l'ensemble du serveur MySQL.

Dans la gestion et le fonctionnement quotidiens de MySQL, afin d'empêcher quelqu'un d'utiliser de manière malveillante l'utilisateur root pour contrôler la base de données, nous créons généralement des utilisateurs avec les autorisations appropriées et utilisons le moins possible l'utilisateur root pour se connecter. au système pour assurer la sécurité des données.

MySQL propose les 3 méthodes suivantes pour créer des utilisateurs.

  • Utilisez l'instruction CREATE USER pour créer un utilisateur

  • Ajoutez un utilisateur dans la table mysql.user

  • Utilisez une instruction GRANT pour créer un utilisateur

Ce qui suit explique ces 3 méthodes en détail basé sur des exemples.

1. Utilisez l'instruction CREATE USER pour créer un utilisateur

Vous pouvez utiliser l'instruction CREATE USER pour créer un utilisateur MySQL et définir le mot de passe correspondant. Le format de la syntaxe de base est le suivant :

CREATE USER <用户> [ IDENTIFIED BY [ PASSWORD ] &#39;password&#39; ] [ ,用户 [ IDENTIFIED BY [ PASSWORD ] &#39;password&#39; ]]

La description du paramètre est la suivante :

1) L'utilisateur

précise créer un compte utilisateur, le format est user_name'@'host_name. Ici, user_name est le nom d'utilisateur et host_name est le nom d'hôte, qui est le nom de l'hôte utilisé par l'utilisateur pour se connecter à MySQL. Si seul le nom d'utilisateur est donné sans spécifier le nom d'hôte lors du processus de création, le nom d'hôte est par défaut "%", qui représente un groupe d'hôtes, c'est-à-dire que les autorisations sont ouvertes à tous les hôtes.

3) La clause IDENTIFIED BY

est utilisée pour spécifier le mot de passe de l'utilisateur. Les nouveaux utilisateurs n'ont pas besoin d'un mot de passe initial. Si l'utilisateur n'a pas de mot de passe, cette clause peut être omise.

2) MOT DE PASSE 'mot de passe'

MOT DE PASSE signifie utiliser une valeur de hachage pour définir le mot de passe. Ce paramètre est facultatif. Si le mot de passe est une chaîne simple, il n'est pas nécessaire d'utiliser le mot-clé PASSWORD. « mot de passe » représente le mot de passe utilisé par l'utilisateur pour se connecter et doit être placé entre guillemets simples.

Vous devez faire attention aux points suivants lorsque vous utilisez l'instruction CREATE USER :

  • L'instruction CREATE USER n'a pas besoin de spécifier un mot de passe initial. Cependant, du point de vue de la sécurité, cette approche n'est pas recommandée.

  • Pour utiliser l'instruction CREATE USER, vous devez disposer de l'autorisation INSERT de la base de données mysql ou de l'autorisation globale CREATE USER.

  • Après avoir créé un utilisateur à l'aide de l'instruction CREATE USER, MySQL ajoutera un nouvel enregistrement dans la table utilisateur de la base de données mysql.

  • L'instruction CREATE USER peut créer plusieurs utilisateurs en même temps. Plusieurs utilisateurs sont séparés par des virgules.

Les utilisateurs nouvellement créés ont très peu d'autorisations, ils ne peuvent effectuer que des opérations qui ne nécessitent pas d'autorisations. Par exemple, connectez-vous à MySQL, utilisez l'instruction SHOW pour interroger la liste de tous les moteurs de stockage et jeux de caractères, etc. Si deux utilisateurs ont le même nom d'utilisateur mais des noms d'hôte différents, MySQL les traite comme deux utilisateurs et permet aux deux utilisateurs de se voir attribuer des ensembles d'autorisations différents.

Exemple 1

Utilisez CREATE USER pour créer un utilisateur, le nom d'utilisateur est test1, le mot de passe est test1 et le nom d'hôte est localhost. L'instruction SQL et le processus d'exécution sont les suivants.

mysql> CREATE USER &#39;test1&#39;@&#39;localhost&#39; IDENTIFIED BY &#39;test1&#39;;
Query OK, 1 rows affected (0.06 sec)

Les résultats montrent que l'utilisateur test1 a été créé avec succès.

Dans les applications pratiques, nous devrions éviter de spécifier les mots de passe en texte brut. Nous pouvons utiliser le mot-clé PASSWORD pour définir le mot de passe en utilisant la valeur de hachage du mot de passe.

Exemple 2

Dans MySQL, vous pouvez utiliser la fonction password() pour obtenir la valeur de hachage du mot de passe. L'instruction SQL et le processus d'exécution pour afficher la valeur de hachage test1 sont les suivants :

mysql> SELECT password(&#39;test1&#39;);
+-------------------------------------------+
| password(&#39;test1&#39;)                         |
+-------------------------------------------+
| *06C0BF5B64ECE2F648B5F048A71903906BA08E5C |
+-------------------------------------------+
1 row in set, 1 warning (0.00 sec)

"*06C0BF5B64ECE2F648B5F048A71903906BA08E5C. " est le hachage de la valeur test1. Ensuite, créez l'utilisateur test1. L'instruction SQL et le processus d'exécution sont les suivants :

mysql> CREATE USER &#39;test1&#39;@&#39;localhost&#39;IDENTIFIED BY PASSWORD &#39;*06C0BF5B64ECE2F648B5F048A71903906BA08E5C&#39;;
Query OK, 0 rows affected, 1 warning (0.00 sec)

Après une exécution réussie, vous pouvez vous connecter avec le mot de passe "test1".

2. Utilisez l'instruction GRANT pour créer un nouvel utilisateur

Bien que CREATE USER puisse créer des utilisateurs ordinaires, cette méthode n'est pas pratique pour accorder des autorisations utilisateur. MySQL fournit donc l'instruction GRANT.

La forme grammaticale de base de l'utilisation de l'instruction GRANT pour créer un utilisateur est la suivante :

GRANT priv_type ON database.table TO <用户> [IDENTIFIED BY [PASSWORD] &#39;password&#39;]

où : le paramètre

  • priv_type représente les autorisations du nouvel utilisateur ; représente la portée des autorisations du nouvel utilisateur, c'est-à-dire que vous ne pouvez utiliser que vos propres autorisations sur la base de données et la table spécifiées 

  • d6dfeb34506b9ae91949b619ea6d8b0b Le paramètre spécifie le compte du nouvel utilisateur, qui comprend le nom d'utilisateur et nom d'hôte ; mot-clé

  • IDENTIFIED BY pour définir le mot de passe ; le paramètre

  • password représente le mot de passe du nouvel utilisateur.

  • Exemple 3

  • Ce qui suit utilise l'instruction GRANT pour créer un utilisateur nommé test3. Le nom d'hôte est localhost et le mot de passe est test3. Cet utilisateur dispose des autorisations SELECT sur toutes les tables de toutes les bases de données. L'instruction SQL et le processus d'exécution sont les suivants :
mysql> GRANT SELECT ON*.* TO &#39;test3&#39;@localhost IDENTIFIED BY &#39;test3&#39;;
Query OK, 0 rows affected, 1 warning (0.01 sec)

其中,“*.*” 表示所有数据库下的所有表。结果显示创建用户成功,且 test3 用户对所有表都有查询(SELECT)权限。

技巧:GRANT 语句是 MySQL 中一个非常重要的语句,它可以用来创建用户、修改用户密码和设置用户权限。教程后面会详细介绍如何使用 GRANT 语句修改密码、更改权限。

【相关推荐:mysql视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn