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.)
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 -pjaljamysql> select user,host,password from user; +------+-----------+-------------------------------------------+ | user | host | password | +------+-----------+-------------------------------------------+ | root | localhost | *CFAFE434FB0E5D64538901E668E1EACD077A54DF | | root | % | *CFAFE434FB0E5D64538901E668E1EACD077A54DF | +------+-----------+-------------------------------------------+
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'
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;
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
Accordez des autorisations à une certaine bibliothèque :
mysql> revoke all on *.* from ls@'192.168.6.%';
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
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
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)
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)
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 (www.php.cn) !