Maison > base de données > tutoriel mysql > Résumé et partage de la création d'utilisateurs et de la gestion des autorisations dans MySQL

Résumé et partage de la création d'utilisateurs et de la gestion des autorisations dans MySQL

WBOY
Libérer: 2022-09-02 20:55:16
avant
2109 Les gens l'ont consulté

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 :

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

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

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

# 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

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

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

drop user 'hhy'@'localhost';
Copier après la connexion

case: delete jack compte

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

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 :

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.%'

mysql> rename user 旧用户信息 to 新用户信息;
Copier après la connexion

Cas : Changer 'harry'@'localhost ' Renommé en 'hhy'@'localhost'

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

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

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:

USAGE	无权限,只有登录数据库,只可以使用test或test_*数据库
ALL		所有权限
以下权限为指定权限
select/update/delete/super/replication slave/reload...
with grant option 选项表示允许把自己的权限授予其它用户或者从其他用户收回自己的权限
Copier après la connexion

. Syntaxe de base :

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

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)

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

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 :

create user 'root'@'%' identified by '123';
grant all on *.* to 'root'@'%';
flush privileges;
Copier après la connexion

Interrogez les autorisations d'autres utilisateurs :

mysql> show grants;
Copier après la connexion

5 avec l'option d'attribution d'autorisation

.
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 :

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!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal