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';"
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 ] 'password' ] [ ,用户 [ IDENTIFIED BY [ PASSWORD ] 'password' ]]
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 'test1'@'localhost' IDENTIFIED BY 'test1'; 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('test1'); +-------------------------------------------+ | password('test1') | +-------------------------------------------+ | *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 'test1'@'localhost'IDENTIFIED BY PASSWORD '*06C0BF5B64ECE2F648B5F048A71903906BA08E5C'; 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] 'password']
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
IDENTIFIED BY pour définir le mot de passe ; le paramètre
password représente le mot de passe du nouvel utilisateur.
Exemple 3
mysql> GRANT SELECT ON*.* TO 'test3'@localhost IDENTIFIED BY 'test3'; 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!