Cet article vous apporte des connaissances pertinentes sur mysql, introduisant principalement la création d'utilisateurs et la gestion des autorisations dans MySQL. L'article présente le contenu en détail autour du sujet, qui a une certaine valeur de référence. Les amis qui en ont besoin peuvent le faire pour référence.

Apprentissage recommandé : Tutoriel vidéo mysql
1. Gestion des utilisateurs
Vous pouvez afficher les utilisateurs créés dans mysql
库里有个user表
1 Créer un utilisateur MySQL
Remarque : Vous ne pouvez pas simplement utiliser l'utilisateur. nom dans MySQL Pour décrire l'utilisateur, l'hôte doit être ajouté. Tel que hhy@10.1.1.1
Syntaxe de base :
1 2 | mysql> create user '用户名'@'被允许连接的主机名称或主机的IP地址' identified by '用户密码';
mysql> select user,host from mysql.user;
|
Copier après la connexion
Cas : Créer un compte MySQL, nom d'utilisateur : hhy, mot de passe utilisateur : 123
1 2 3 | mysql> create user 'hhy'@'localhost' identified by '123';
mysql> create user 'hhy'@'127.0.0.1' identified by '123';
|
Copier après la connexion
Créer un compte MySQL (re demandé Ouvrir une connexion à distance), adresse IP de l'hôte : 192.1668.44.110, nom d'utilisateur : test, mot de passe utilisateur : 123
1 | mysql> create user 'test'@'192.1668.44.110' identified by '123';
|
Copier après la connexion
Test : Sur l'hôte avec l'adresse IP 192.168.44.110
1 2 3 | # yum install mysql -y
# mysql -h 192.168.44.110 -P 3306 -uharry -p
Enter password:123
|
Copier après la connexion
Description de l'option : 192.168.44.110 : L'adresse IP du serveur MySQL
yum install mysql : signifie que le client MySQL est installé
yum install mysql-server : signifie que le serveur MySQL est installé
Cas : Créer un compte MySQL (nécessite ouverture de connexion à distance), segment de réseau IP hôte : 10.1.1.0, nom d'utilisateur : jack, mot de passe utilisateur : 123
1 | create user 'jack'@'192.168.44.%' identified by '123'
|
Copier après la connexion
Cas : Créer un compte MySQL (nécessite l'ouverture d'une connexion à distance), obligatoire pour être ouvert à tous les hôtes, nom d'utilisateur : root, mot de passe utilisateur : 123
1 | create user 'root'@'%' identified by '123';
|
Copier après la connexion
2. Supprimer l'utilisateur MySQL
Utilisateur de base :
mysql> supprimer l'utilisateur 'nom d'utilisateur'@'nom d'hôte ou adresse IP de l'hôte';
Remarque spéciale :
Si vous ne précisez pas le nom de l'hébergeur ou l'adresse IP de l'hébergeur lors de la suppression d'un utilisateur, toutes les informations sur ce compte seront supprimées par défaut.
Case: delete hhy compte
1 | drop user 'hhy'@'localhost';
|
Copier après la connexion
case: delete jack compte
1 | drop user 'jack'@'192.168.44.%';
|
Copier après la connexion
case: Create deux comptes Harry (localhost / 10.1.1.23), puis en supprimer l'un d'eux rreee
une autre façon de supprimer un compte MySQL
1 2 3 4 | mysql> create user 'harry'@'localhost' identified by '123';
mysql> create user 'harry'@'192.168.44.110' identified
mysql> drop user 'harry'@'192.168.44.110';
|
Copier après la connexion
3. Modifier l'utilisateur MySQL
Instructions spéciales :Renommer un utilisateur MySQL peut généralement modifier deux parties, l'une est le nom de l'utilisateur et l'autre est le nom d'hôte ou l'hôte autorisé à accéder à l'IP. adresse.
Syntaxe de base :
1 2 | mysql> delete from mysql.user where user='root' and host='%';
mysql> flush privileges;
|
Copier après la connexion
Cas : Changer l'utilisateur 'root'@'%' en 'root'@'10.1.1.%'
1 | mysql> rename user 旧用户信息 to 新用户信息;
|
Copier après la connexion
Cas : Changer 'harry'@'localhost ' Renommé en 'hhy'@'localhost'
1 | mysql> rename user 'root'@'%' to 'root'@'10.1.1.%';
|
Copier après la connexion
Utilisez l'instruction de mise à jour pour mettre à jour les informations utilisateur
1 2 | mysql> create user 'tom'@'localhost' identified by '123';
mysql> rename user 'tom'@'localhost' to 'hhy'@'localhost';
|
Copier après la connexion
2. Gestion des autorisations
1 Description des autorisations
Description de toutes les autorisations
1 2 3 | mysql> update mysql.user set user='hhy',host='localhost' where user='tom' and host='localhost';
mysql> flush privileges;
|
Copier après la connexion
Par défaut, s'il n'y a pas d'autorisation quand. attribution d'autorisations Spécifier avec l'option Grant signifie que cet utilisateur ne peut pas accorder d'autorisations à d'autres utilisateurs, mais que cette allocation d'autorisation ne peut pas dépasser ses propres autorisations.
2. Emplacement de stockage des autorisations (comprendre)
- mysql.user :Comptes et mots de passe de tous les utilisateurs MySQL, et autorisations utilisateur sur l'ensemble de la base de données et de la table (*.*)
- mysql.db : Non Les autorisations de la bibliothèque mysql sont stockées ici (db.*)
- mysql.table_priv :Autorisation d'une certaine table dans une certaine bibliothèque (db.table)
- mysql.columns_priv :Autorisation d'une certaine colonne dans une certaine table dans une certaine bibliothèque (db .table.col1)
- mysql.procs_priv:Autorisation des procédures stockées dans une certaine bibliothèque
3 Autoriser les utilisateurs
Créer une table de base de données:
1 2 3 4 5 | USAGE 无权限,只有登录数据库,只可以使用test或test_*数据库
ALL 所有权限
以下权限为指定权限
select/update/ delete /super/replication slave/reload...
with grant option 选项表示允许把自己的权限授予其它用户或者从其他用户收回自己的权限
|
Copier après la connexion
. Syntaxe de base :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | create database java;
use java;
create table tb_student(
id mediumint not null auto_increment,
name varchar(20),
age tinyint unsigned default 0,
gender enum('男','女'),
address varchar(255),
primary key(id)
) engine=innodb default charset=utf8;
insert into tb_student values (null,'刘备',33,'男','湖北省武汉市');
insert into tb_student values (null,'貂蝉',18,'女','湖南省长沙市');
insert into tb_student values (null,'关羽',32,'男','湖北省荆州市');
insert into tb_student values (null,'大乔',20,'女','河南省漯河市');
insert into tb_student values (null,'赵云',25,'男','河北省石家庄市');
insert into tb_student values (null,'小乔',18,'女','湖北省荆州市');
|
Copier après la connexion
Library.table Méthode de représentation : *.* représente toutes les tables de données de toutes les bases de données, db_itheima.* représente toutes les tables de données de la base de données db_itheima, db_itheima.tb_admin représente la table tb_admin de la base de données db_itheima
Cas : Attribuez une base de données Java à votre compte Autorisations de requête
1 2 | mysql> grant 权限1,权限2 on 库.表 to 用户@主机
mysql> grant 权限(列1,列2,...) on 库.表 to 用户@主机
|
Copier après la connexion
Cas : Attribuez des autorisations à la table de données java.tb_student au compte hehanyu (obligatoire pour modifier uniquement le champ d'âge)
1 2 3 | mysql> grant select on java.* to 'hehanyu'@'192.168.44.%';
mysql> flush privileges;
|
Copier après la connexion
Cas : Ajoutez un compte root@%, puis attribuez toutes les autorisations
1 2 3 | mysql> grant update(age) on java.tb_student to 'hehanyu'@'192.168.44.%';
mysql> flush privileges;
|
Copier après la connexion
4. Interrogez les autorisations de l'utilisateur
Interrogez les autorisations de l'utilisateur actuel :
1 2 3 | create user 'root'@'%' identified by '123';
grant all on *.* to 'root' @ '%' ;
flush privileges;
|
Copier après la connexion
Interrogez les autorisations d'autres utilisateurs :
Copier après la connexion
5 avec l'option d'attribution d'autorisation
. 1 | mysql> show grants for '用户名称'@'授权的主机名称或IP地址';
|
Copier après la connexion
Comme indiqué dans la commande ci-dessus :amy a la fonction d'accorder des autorisations et Harry n'a pas la fonction d'accorder des autorisations.
Si l'autorisation d'octroi n'a pas l'option avec option d'octroi, elle ne peut pas autoriser d'autres utilisateurs.
6.revoke pour récupérer les autorisations
Syntaxe de base :
1 2 3 4 5 6 7 | revoke 权限 on 库.表 from 用户;
查看hehanyu用户权限
mysql> show grants for 'hehanyu'@'192.168.44.%';
撤消指定的权限
mysql> revoke update on java.tb_student from 'tom'@'192.168.44.%';
撤消所有的权限
mysql> revoke select on java.* from 'tom'@'192.168.44.%';
|
Copier après la connexion
推荐学习: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!