Maison  >  Article  >  base de données  >  Comment ajouter des utilisateurs et définir des autorisations dans Mysql

Comment ajouter des utilisateurs et définir des autorisations dans Mysql

PHPz
PHPzavant
2023-05-27 23:46:184445parcourir

Le nom anglais complet de DCL est Data Control Language (langage de contrôle des données), qui est utilisé pour gérer les utilisateurs de la base de données et contrôler les autorisations d'accès à la base de données.

1. Gérer les utilisateurs

Commandes liées à l'utilisateur :

Interroger les utilisateurs : select * from mysql .user;select * from mysql.user;

表中有加密后的密码,如果忘记密码,可以通过配置实现免密登录,并进行修改密码。

Comment ajouter des utilisateurs et définir des autorisations dans Mysql

其中 Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问,是不可以远程访问的。 User代表的是访问该数据库的用户名。在MySQL中需要通过Host和User来唯一标识一个用户。主机名可以使用 % ,代表的就是任何一个主机都能访问。

往往linux当中安装mysql,然后使用 其他主机的客户端 连mysql连不上,就是因为Host配置的是localhost这个原因导致的!

  • 创建用户:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

  • 修改用户密码:ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码' ;

  • 删除用户:DROP USER '用户名'@'主机名' ;

注意事项:

  • 在MySQL中需要通过用户名@主机名的方式,来唯一标识一个用户。

  • 主机名可以使用 % 通配。

命令使用示例:

#创建用户aaa, 只能够在当前主机localhost访问, 密码123456;
create user 'aaa'@'localhost' identified by '123456';

#创建用户bbb, 可以在任意主机访问该数据库, 密码123456;
create user 'bbb'@'%' identified by '123456';

#修改用户bbb的访问密码为1234;
alter user 'bbb'@'%' identified with mysql_native_password by '1234';

#删除 aaa@localhost 用户
drop user 'aaa'@'localhost';

二、权限控制

MySQL中定义了很多种权限,但是常用的就以下几种:

Comment ajouter des utilisateurs et définir des autorisations dans Mysql

命令:

  • 查询权限:SHOW GRANTS FOR '用户名'@'主机名' ;

  • 授予权限:GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

  • 撤销权限:REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

注意事项:

  • 多个权限之间,使用逗号分隔

  • 授权时, 数据库名和表名可以使用 * 进行通配,代表所有

    Le tableau contient des mots de passe cryptés. Si vous oubliez votre mot de passe, vous pouvez le configurer pour vous connecter sans mot de passe et modifier le mot de passe.
Comment ajouter des utilisateurs et définir des autorisations dans MySQL

Host représente l'hôte auquel l'utilisateur actuel accède. S'il s'agit de localhost, cela signifie uniquement qu'il n'est accessible que sur la machine locale actuelle et qu'il n'est pas accessible à distance. L'utilisateur représente le nom d'utilisateur pour accéder à la base de données. Dans MySQL, un utilisateur doit être identifié de manière unique via l'hôte et l'utilisateur. Vous pouvez utiliser % dans le nom d'hôte, ce qui signifie que n'importe quel hôte peut y accéder.

Souvent, MySQL est installé sous Linux, puis le client d'autres hôtes ne peut pas se connecter à MySQL. C'est parce que l'hôte est configuré avec localhost !

#🎜🎜#
  • #🎜🎜#Créer un utilisateur : CRÉER UN UTILISATEUR 'Nom d'utilisateur'@'Nom d'hôte' IDENTIFIÉ PAR 'Mot de passe'  ; code>#🎜🎜##🎜🎜#<li>#🎜🎜#Changer le mot de passe de l'utilisateur : <code>ALTER USER 'username'@'hostname' IDENTIFIÉ AVEC mysql_native_password PAR 'nouveau mot de passe' ; #🎜🎜# #🎜🎜#
  • #🎜🎜#Supprimer l'utilisateur : DROP USER 'username'@'hostname' ;#🎜🎜##🎜🎜##🎜🎜## 🎜🎜##🎜🎜 #Remarque : #🎜🎜##🎜🎜#
    • #🎜🎜#Dans MySQL, vous devez transmettre le chemin username@hostname de manière unique identifier un utilisateur. #🎜🎜##🎜🎜#
    • #🎜🎜#Le nom d'hôte peut être remplacé par %. #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#Exemple d'utilisation de la commande : #🎜🎜##🎜🎜#
      #查询 &#39;bbb&#39;@&#39;%&#39; 用户的权限
      show grants for &#39;bbb&#39;@&#39;%&#39;;
      
      #授予 &#39;bbb&#39;@&#39;%&#39; 用户itcast数据库所有表的所有操作权限
      grant all on itcast.* to &#39;bbb&#39;@&#39;%&#39;;
      
      #撤销 &#39;bbb&#39;@&#39;%&#39; 用户的itcast数据库的所有权限
      revoke all on itcast.* from &#39;bbb&#39;@&#39;%&#39;;
      #🎜🎜#2. Il existe de nombreux types d'autorisations définies dans , mais les plus couramment utilisées sont les suivantes : #🎜🎜##🎜🎜#Comment ajouter des utilisateurs et définir des autorisations dans MySQL#🎜🎜##🎜🎜##🎜🎜#Command : #🎜🎜##🎜🎜#
        #🎜🎜# Autorisations de requête : AFFICHER LES ACCORDS POUR 'nom d'utilisateur'@'nom d'hôte' ;#🎜🎜##🎜🎜#
      • #🎜🎜#Accorder des autorisations : GRANT liste d'autorisations sur le nom de la base de données. Nom de la table TO 'nom d'utilisateur'@'nom d'hôte';#🎜🎜##🎜🎜#
      • #🎜🎜#Révoquer les autorisations : REVOKE l'autorisation liste ON base de données Nom.Nom de la table FROM 'username'@'hostname';#🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#Notes : #🎜🎜##🎜🎜#
        • #🎜🎜#Utilisez des virgules pour séparer plusieurs autorisations#🎜🎜##🎜🎜#
        • #🎜🎜#Lors de l'autorisation, base de données Le nom et le nom de la table peut être remplacé par un caractère générique * pour tout représenter. #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#Exemple d'utilisation de la commande : #🎜🎜##🎜🎜#
          flush privileges;
          #🎜🎜#Une fois les données utilisateur et les autorisations MySQL modifiées, j'espère que "Aucun "Redémarrer le service MySQL" ne prendra effet directement, vous devrez alors exécuter cette commande. Habituellement, après avoir modifié les paramètres du compte ROOT, vous craignez de ne pas pouvoir vous reconnecter après le redémarrage, vous pouvez donc directement vider pour voir si les paramètres d'autorisation prennent effet. Sans prendre trop de risques. #🎜🎜#rrreee

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer