Maison > base de données > tutoriel mysql > Exemple de code graphique de gestion des autorisations d'apprentissage MySQL

Exemple de code graphique de gestion des autorisations d'apprentissage MySQL

黄舟
Libérer: 2017-03-04 15:00:12
original
1227 Les gens l'ont consulté

La signification des autorisations de la base de données :

Afin de garantir que les données commerciales de la base de données ne soient pas illégalement volées par des utilisateurs non autorisés, diverses restrictions doivent être imposées aux visiteurs de la base de données principale. les mesures de contrôle de sécurité comprennent les trois types suivants. Le premier type d'authentification de l'identité de l'utilisateur peut utiliser des mots de passe, des cartes magnétiques, des empreintes digitales et d'autres technologies. Seules les personnes ayant une identité légale peuvent accéder à la base de données. Le deuxième type de contrôle des autorisations d'accès. Différents rôles ont des autorisations d'accès différentes à la base de données. Les objets de base de données et les autorisations auxquels ils accèdent doivent être définis pour chaque rôle. Le troisième type consiste à formuler un système de gestion pour la gestion des bases de données.Le système limite finalement le comportement des personnes, en formulant des règles et des réglementations correspondantes, afin de garantir que les données sont exploitées de manière appropriée par les bonnes personnes et au bon moment.

La vérification des autorisations des utilisateurs par MySQL est divisée en deux étapes

1. S'il peut établir un lien avec le serveur MySQL

2. comme : sélectionner la mise à jour, etc.)

1. Établir un lien avec le serveur mysql

Comment le serveur mysql vérifie-t-il si l'utilisateur peut établir un lien

🎜>

1. Vérifiez d'où vous venez Venez héberger

2. Qui êtes-vous utilisateur

3. :UsersPC003>mysql -h192.168.6.223 -uroot -pjalja

Explication du paramètre : -h : Où établir le lien depuis Indique que l'hôte par défaut peut être utilisé pour la liaison (C:UsersPC003>mysql -uroot -pjalja, C:UsersPC003>mysql -hlocalhost -uroot -pjalja, C:UsersPC003>mysql -h127.0.0.1 -uroot -pjalja)

host =% signifie que le serveur peut établir des liens avec tous les hôtes en local réseau local (réseau public) où il se trouve. Cette méthode n'est pas sûre dans un environnement de production

host=192.168.6.224 signifie que le serveur ne peut se connecter qu'avec le lien d'établissement de l'hôte 192.168.6.224 C:UsersPC003>mysql. -h192.168.6.223 -uroot -pjalja

mysql> select user,host,password from user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *CFAFE434FB0E5D64538901E668E1EACD077A54DF |
| root | %         | *CFAFE434FB0E5D64538901E668E1EACD077A54DF |
+------+-----------+-------------------------------------------+
Copier après la connexion
Comment modifier l'hôte :


privilèges de vidage mysql> la mémoire et doit être actualisé à chaque fois que des opérations liées aux autorisations utilisateur sont effectuées)

Changer le mot de passe :

mysql> update user set host='192.168.6.223' where user ='root'
Copier après la connexion


2. vérifier les autorisations dans mysql

Il existe une bibliothèque mysql dans mysql. La table user sous la bibliothèque vérifie si l'utilisateur existe, la table db vérifie les autorisations d'exploitation dont dispose l'utilisateur pour quelles bibliothèques, et tables_priv. vérifications des tables De quelles autorisations d'opération cet utilisateur dispose-t-il sur ces tables ?

mysql> update user set password=password('111111') where user='root';
mysql> flush privileges;
Copier après la connexion

Créer un utilisateur et autoriser :

accorder [Autorisation 1, Autorisation 2] sur *.* à l'utilisateur@'hôte' identifié par 'mot de passe';

Autorisations communes : tout, créer, supprimer, insérer, supprimer, mettre à jour, sélectionner

Par exemple : accorder à l'utilisateur ls toutes les autorisations sur toutes les bases de données et toutes les tables et peut se connecter à partir de n'importe quel hôte de ce réseau local segment.

mysql> accordez tout sur *.* à 'ls'@'192.168.6.%' identifié par '111111';

Utilisez cet utilisateur pour vous connecter : C:UsersPC003>mysql -h192 .168.6.223 -uls -p111111;

Afficher les autorisations spécifiques de l'utilisateur ls :

Récupération des autorisations : révoquez toutes les autorisations de ls

mysql> select * from  mysql.user where user='ls' \G;
*************************** 1. row ***************************
                  Host: 192.168.6.%
                  User: ls
              Password: *FD571203974BA9AFE270FE62151AE967ECA5E0AA
           Select_priv: Y
           Insert_priv: Y
           Update_priv: Y
           Delete_priv: Y
           Create_priv: Y
             Drop_priv: Y
           Reload_priv: Y
         Shutdown_priv: Y
          Process_priv: Y
             File_priv: Y
            Grant_priv: N
       References_priv: Y
            Index_priv: Y
            Alter_priv: Y
          Show_db_priv: Y
            Super_priv: Y
 Create_tmp_table_priv: Y
      Lock_tables_priv: Y
          Execute_priv: Y
       Repl_slave_priv: Y
      Repl_client_priv: Y
      Create_view_priv: Y
        Show_view_priv: Y
   Create_routine_priv: Y
    Alter_routine_priv: Y
      Create_user_priv: Y
            Event_priv: Y
          Trigger_priv: Y
Create_tablespace_priv: Y
              ssl_type:
            ssl_cipher:
           x509_issuer:
          x509_subject:
         max_questions: 0
           max_updates: 0
       max_connections: 0
  max_user_connections: 0
                plugin:
 authentication_string: NULL
Copier après la connexion

Accordez des autorisations à une certaine bibliothèque :

mysql> à ls@ '192.168.6.%' ; Accorder à l'utilisateur ls toutes les autorisations sur la base de données du blog.
mysql> revoke all on *.* from ls@'192.168.6.%';
Copier après la connexion

De cette façon, l'utilisateur ls n'a pas d'autorisations dans la table utilisateur. À ce moment, une vérification des autorisations au niveau de la base de données sera effectuée

Récupérer toutes les autorisations. de l'utilisateur ls et accorder des autorisations à une certaine table : Accordez les autorisations Crud pour la table utilisateur dans la bibliothèque du blog de l'utilisateur ls

De cette façon, l'utilisateur ls n'a pas d'autorisations au niveau Au niveau de la base de données, la vérification des autorisations au niveau tables_priv sera effectuée :
mysql> select * from  mysql.db where user='ls' \G;
*************************** 1. row ***************************
                 Host: 192.168.6.%
                   Db: blog                 
                   User: ls
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y
            Drop_priv: Y
           Grant_priv: N
      References_priv: Y
           Index_priv: Y
           Alter_priv: Y
Create_tmp_table_priv: Y
     Lock_tables_priv: Y
     Create_view_priv: Y
       Show_view_priv: Y
  Create_routine_priv: Y
   Alter_routine_priv: Y
         Execute_priv: Y
           Event_priv: Y
         Trigger_priv: Y
Copier après la connexion

processus de contrôle des autorisations mysql :

mysql> revoke all on *.* from ls@'192.168.6.%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> grant insert,update,select,delete on blog.user to ls@'192.168.6.%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
Copier après la connexion

mysql> select * from  mysql.tables_priv where user='ls' \G;
*************************** 1. row ***************************
       Host: 192.168.6.%
         Db: blog       User: ls
 Table_name: user
    Grantor: root@localhost
  Timestamp: 2017-02-09 14:35:38
 Table_priv: Select,Insert,Update,DeleteColumn_priv:1 row in set (0.00 sec)
Copier après la connexion
Remarque : la vérification des autorisations MySQL peut être précise pour une certaine colonne de données.


Ce qui précède est le contenu des exemples de code graphique de gestion des autorisations pour l'apprentissage de MySQL. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.sbmmt.com) !

Étiquettes associées:
source:php.cn
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