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 Datenbank verschiedene Einschränkungen auferlegt werden, und Datenbank SicherheitEs gibt hauptsächlich drei Arten von Sicherheitskontrollmaßnahmen. Die erste ist die Authentifizierung der Benutzeridentität, bei der es sich um ein Passwort, eine Magnetkarte, einen Fingerabdruck und andere Technologien handeln kann Datenbank. Die zweite Art der Zugriffsberechtigungskontrolle. Verschiedene Rollen haben unterschiedliche Zugriffsberechtigungen für die Datenbank Objekte und Berechtigungen, auf die sie zugreifen, müssen für jede Rolle festgelegt werden. Der dritte Typ besteht darin, ein Managementsystem für die Datenbankverwaltung zu formulieren. Das System beschränktdas Verhalten und kann so sicherstellen, dass die Daten ordnungsgemäß verarbeitet werden Menschen zur richtigen Zeit.
MySQLDie Prüfung der Benutzerberechtigungen ist in zwei Stufen unterteilt
1. Ob eine Verbindung mit dem MySQL-Server hergestellt werden kann
Ob Es gibt bestimmte Betriebsberechtigungen (z. B.: Datum auswählen usw.)
So verknüpfen Sie eine Verbindung zu MySQL: C:UsersPC003>mysql -h192.168.6.223 -uroot -pjalja
Parametererklärung: -h: Wo soll die Verbindung hergestellt werden
-u: Benutzer
-p: Passwort
host=localhost bedeutet, dass Sie den Standardhost für die Verknüpfung verwenden können (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=192.168.6.224 bedeutet, dass der Server nur eine Verbindung mit dem 192.168.6.224-Host C herstellen kann: UsersPC003>mysql -h192.168.6.223 -uroot -pjalja
So ändern Sie den Host:
mysql> Flush-Berechtigungen (da die geänderte Daten befinden sich im Speicher und müssen jedes Mal aktualisiert werden, wenn Vorgänge im Zusammenhang mit Benutzerrechten ausgeführt werden)
mysql> update user set host='192.168.6.223' where user ='root'
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.
Verwenden Sie diesen Benutzer zum Anmelden: C:UsersPC003>mysql -h192.168.6.223 -uls -p111111;mysql> grant all on *.* to 'ls'@'192.168.6.%' identified by '111111';
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: NULL
mysql> alle Berechtigungen für *.* von ls@'192.168.6.%';
<🎜 widerrufen >Autorisieren Sie jemandem Berechtigungen für die Datenbank:
mysql> gewähren Sie alle Berechtigungen für den Blog.* an ls@'192.168.6.%';
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-Blogbibliothekmysql> 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)
Hinweis: Die MySQL-Berechtigungsprüfung kann für eine bestimmte Datenspalte genau sein.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Berechtigungsverwaltung beim MySQL-Lernen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!