Heim  >  Artikel  >  Datenbank  >  Erste Schritte mit dem MySQL-Zugriffskontrollsystem

Erste Schritte mit dem MySQL-Zugriffskontrollsystem

autoload
autoloadOriginal
2021-03-19 11:32:112489Durchsuche

MySQL implementiert ein ausgefeiltes Zugriffskontroll- und Berechtigungssystem, mit dem Sie umfassende Zugriffsregeln für die Abwicklung von Client-Vorgängen erstellen und den Zugriff nicht autorisierter Clients auf das Datenbanksystem wirksam verhindern können.


1. Wenn ein Client eine Verbindung zum Server herstellt, besteht die MySQL-Zugriffskontrolle aus zwei Phasen:

  • Verbindungsüberprüfung: Der Client, der eine Verbindung zum MySQL-Datenbankserver herstellt, muss über einen gültigen Benutzernamen verfügen und Passwort. Darüber hinaus muss der Host, zu dem der Client eine Verbindung herstellt, mit dem Host in der MySQL-Autorisierungstabelle übereinstimmen. 连接验证:连接到MySQL数据库服务器的客户端需要有一个有效的用户名和密码。此外,客户端连接的主机必须与MySQL授权表中的主机相匹配。

  • 请求验证:当连接成功建立后,对于客户端发出的每个语句,MySQL会检查客户端是否具有足够的权限来执行该特定语句。 MySQL能够检查数据库,表和字段级别的权限

2.MySQL安装程序自动创建一个名为mysql的数据库。

      mysql数据库包含五个主要的授权表。 您可通过GRANTREVOKE等语句间接操作这些表 

  • user表:包含用户帐户和全局权限列。MySQL使用user表来接受或拒绝来自主机的连接。 在user表中授予的权限对MySQL服务器上的所有数据库都有效。

  • db表:包含数据库级权限。MySQL使用数据库表来确定用户可以访问哪个数据库以及哪个主机。在db表中的数据库级授予的特权适用于数据库,所有对象属于该数据库,例如触发器视图存储过程等。

  • table_privcolumns_priv表:包含表级和列级权限。 在table_priv表中授予的权限适用于表及其列,而在columns_priv表中授予的权限仅适用于表的特定列。

  • procs_priv

Request Verification: Wenn die Verbindung erfolgreich hergestellt wurde, prüft MySQL für jede vom Client ausgegebene Anweisung, ob der Client über ausreichende Berechtigungen zum Ausführen dieser spezifischen Anweisung verfügt. MySQL kann Berechtigungen auf Datenbank-, Tabellen- und Feldebene überprüfen.


2.MySQL-Installationsprogramm erstellt automatisch eine Datenbank mit dem Namen mysql.

🎜 MySQL-Datenbank enthält fünf Hauptautorisierungstabellen. Sie können diese Tabellen indirekt über Anweisungen wie GRANT und REVOKE bedienen. 🎜🎜🎜🎜user-Tabelle: enthält Benutzerkonto- und globale Berechtigungsspalten. MySQL verwendet die Tabelle user, um Verbindungen vom Host zu akzeptieren oder abzulehnen. In der Tabelle user erteilte Berechtigungen gelten für alle Datenbanken auf dem MySQL-Server. 🎜🎜🎜🎜db-Tabelle: Enthält Berechtigungen auf Datenbankebene. MySQL verwendet Datenbanktabellen, um zu bestimmen, auf welche Datenbank und auf welchen Host ein Benutzer zugreifen kann. Auf Datenbankebene in einer db-Tabelle gewährte Berechtigungen gelten für die Datenbank, zu der alle Objekte gehören, wie z. B. tables, triggers, Ansichten, gespeicherte Prozeduren usw. 🎜🎜🎜🎜table_priv- und columns_priv-Tabellen: Enthält Berechtigungen auf Tabellen- und Spaltenebene. In einer table_priv-Tabelle gewährte Berechtigungen gelten für die Tabelle und ihre Spalten, während in einer columns_priv-Tabelle gewährte Berechtigungen nur für bestimmte Spalten der Tabelle gelten. 🎜🎜🎜🎜procs_priv-Tabelle: Enthält Berechtigungen für gespeicherte Funktionen und gespeicherte Prozeduren. 🎜🎜🎜🎜🎜MySQL verwendet diese Tabellen, um die Berechtigungen des MySQL-Datenbankservers zu steuern. Es ist wichtig, diese Tabellen zu verstehen, bevor Sie Ihr eigenes flexibles Zugangskontrollsystem implementieren. 🎜🎜Empfohlen: 🎜MySQL-Tutorial🎜🎜

Das obige ist der detaillierte Inhalt vonErste Schritte mit dem MySQL-Zugriffskontrollsystem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn