Heim >Datenbank >MySQL-Tutorial >Beispiel für einen Grafikcode für die MySQL-Lernberechtigungsverwaltung
Die Bedeutung von Datenbankberechtigungen:
Um sicherzustellen, dass die Geschäftsdaten in der Datenbank nicht illegal von unbefugten Benutzern gestohlen werden, müssen den Besuchern der Hauptdatenbank verschiedene Einschränkungen auferlegt werden Zu den Sicherheitskontrollmaßnahmen gehören die folgenden drei Arten der Benutzeridentitätsauthentifizierung: Passwörter, Magnetkarten, Fingerabdrücke und andere Technologien. Nur Personen mit legaler Identität können die Datenbank betreten. Die zweite Art der Zugriffsberechtigungskontrolle. Verschiedene Rollen haben unterschiedliche Zugriffsberechtigungen für die Datenbank. Die Datenbankobjekte und Berechtigungen, auf die sie zugreifen, müssen für jede Rolle festgelegt werden. Der dritte Typ besteht darin, ein Verwaltungssystem für die Datenbankverwaltung zu formulieren. Durch die Formulierung entsprechender Regeln und Vorschriften kann sichergestellt werden, dass die Daten von den richtigen Personen zur richtigen Zeit ordnungsgemäß verwaltet werden.
Die Überprüfung der Benutzerberechtigungen durch MySQL ist in zwei Phasen unterteilt
1. Ob es eine Verbindung mit dem MySQL-Server herstellen kann
2. Ob es über bestimmte Betriebsberechtigungen verfügt (z als: Update auswählen usw.)
Wie überprüft der MySQL-Server, ob der Benutzer eine Verbindung herstellen kann
1. Überprüfen Sie, woher Sie kommen.
Wer sind Sie?
3. So stellen Sie eine Verbindung zu MySQL her: C :UsersPC003>mysql -h192.168.6.223 -uroot -pjalja
Parametererklärung: -h: Wo soll der Link hergestellt werden
-u: Benutzer
-p : Passwort
host=localhost Gibt an, dass der Standardhost für die Verknüpfung verwendet werden kann (C:UsersPC003>mysql -uroot -pjalja, C:UsersPC003>mysql -hlocalhost -uroot -pjalja, C:UsersPC003> ;mysql -h127.0.0.1 -uroot -pjalja)mysql> select user,host,password from user; +------+-----------+-------------------------------------------+ | user | host | password | +------+-----------+-------------------------------------------+ | root | localhost | *CFAFE434FB0E5D64538901E668E1EACD077A54DF | | root | % | *CFAFE434FB0E5D64538901E668E1EACD077A54DF | +------+-----------+-------------------------------------------+host =% bedeutet, dass der Server Verbindungen zu allen Hosts in einem lokalen Netzwerk (öffentliches Netzwerk) herstellen kann, in dem er sich befindet Produktionsumgebung
host=192.168.6.224 bedeutet, dass der Server nur eine Verbindung mit 192.168.6.224 Host-Einrichtungslink C:UsersPC003>mysql -h192.168.6.223 -uroot -pjalja
So ändern Sie den Host:
MySQL-Flush-Berechtigungen (Da sich die geänderten Daten im Speicher befinden und jedes Mal aktualisiert werden müssen, wenn Vorgänge im Zusammenhang mit Benutzerberechtigungen ausgeführt werden)
mysql> update user set host='192.168.6.223' where user ='root'
Passwort ändern:
2. So überprüfen Sie Berechtigungen in MySQL
mysql> update user set password=password('111111') where user='root'; mysql> flush privileges;
Gewähren Sie [Berechtigung 1, Berechtigung 2] auf *.* an Benutzer@'Host', identifiziert durch 'Passwort'; Allgemeine Berechtigungen: alle, erstellen, löschen, einfügen, löschen, aktualisieren, auswählen
Zum Beispiel: Erteilen Sie dem Benutzer ls alle Berechtigungen für alle Datenbanken und alle Tabellen und können Sie sich von jedem Host in diesem LAN aus anmelden Segment.
mysql> grant all on *.* to 'ls'@'192.168.6.%' identifiziert durch '111111';
Verwenden Sie diesen Benutzer zum Anmelden: C:UsersPC003>mysql -h192 .168.6.223 -uls -p111111;
Sehen Sie sich die spezifischen Berechtigungen des ls-Benutzers an:
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: NULLBerechtigungswiederherstellung: Alle Berechtigungen von ls widerrufen
Berechtigungen für eine bestimmte Bibliothek erteilen:
mysql> revoke all on *.* from ls@'192.168.6.%';
mysql> to ls@ '192.168.6.%'; Gewähren Sie dem Benutzer ls alle Berechtigungen für die Blog-Datenbank.
Auf diese Weise verfügt der ls-Benutzer nicht über Berechtigungen in der Benutzertabelle. Zu diesem Zeitpunkt wird eine Berechtigungsprüfung auf Datenbankebene durchgeführt
Alle Berechtigungen wiederherstellen des ls-Benutzers und erteilen Sie Berechtigungen für eine bestimmte Tabelle: Gewähren Sie Crud-Berechtigungen für die Benutzertabelle in der ls-Benutzer-Blogbibliothek
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
Auf diese Weise hat der ls-Benutzer keine Berechtigungen am Datenbankebene. Zu diesem Zeitpunkt wird die Berechtigungsprüfung auf der Ebene tables_priv durchgeführt:
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-Berechtigungskontrollprozess:
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)
Das Obige ist der Inhalt der grafischen Codebeispiele für die Berechtigungsverwaltung für das MySQL-Lernen. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!