Heim  >  Artikel  >  Datenbank  >  So überprüfen Sie Benutzerberechtigungen in MySQL

So überprüfen Sie Benutzerberechtigungen in MySQL

coldplay.xixi
coldplay.xixiOriginal
2020-09-03 14:24:259646Durchsuche

So überprüfen Sie Benutzerberechtigungen in MySQL: 1. Überprüfen Sie die Berechtigungen eines bestimmten MySQL-Benutzers. Die Syntax lautet [Zuweisungen für Benutzernamen anzeigen]. 2. Verwenden Sie die Datenbankautorisierungsmethode. Der Code lautet [GRANT 6edd86b17b9eea41baa88c90cbdefa74 ;was>

So überprüfen Sie Benutzerberechtigungen in MySQL

【Verwandte Lernempfehlungen: MySQL-Tutorial(Video)】

MySQL-Methode zum Anzeigen von Benutzertabellenberechtigungen:

(1) Sehen Sie sich die Berechtigungen von an ein bestimmtes MySQL Benutzer:

Zuweisungen für Benutzernamen anzeigenshow grants for 用户名

MariaDB [neutron]> show grants for root;

(2)用GRANT命令建立新用户、设定用户密码、并增加用户权限。其格式如下:

mysql> GRANT <privileges> ON <what>  TO <user> [IDENTIFIED BY "<password>"]  [WITH GRANT OPTION];

例如:

GRANT ALL PRIVILEGES ON neutron.* TO &#39;neutron&#39;@&#39;localhost&#39;   IDENTIFIED BY &#39;NEUTRON_DBPASS&#39;;
GRANT ALL PRIVILEGES ON neutron.* TO &#39;neutron&#39;@&#39;%&#39;   IDENTIFIED BY &#39;NEUTRON_DBPASS&#39;;
  • neutron.* :表示neutron数据库中的所有表,授权之前neutron库要先创建好。如果用*.*表示所有库的所有表

  •  'neutron'@'localhost':表示创建的用户名neutron ,@后面表示允许访问数据的客户端,'localhost' 表示本机,'%'表示所有主机

  • [IDENTIFIED BY "cb1ebc435675187bdcfb539b370c2e37"]:是设定neutron用户密码

(3)数据库的授权方式

GRANT <privileges> ON <what>  TO <user> [IDENTIFIED BY "<password>"]  [WITH GRANT OPTION];

6edd86b17b9eea41baa88c90cbdefa74是一个用逗号分隔的你想要赋予的MySQL用户权限的列表。

你可以指定的权限可以分为三种类型:

1)数据库/数据表/数据列权限:

  • Alter: 修改已存在的数据表(例如增加/删除列)和索引。

  • Create: 建立新的数据库或数据表。

  • Delete: 删除表的记录。

  • Drop: 删除数据表或数据库。

  • INDEX: 建立或删除索引。

  • Insert: 增加表的记录。

  • Select: 显示/搜索表的记录。

  • Update: 修改表中已存在的记录。

mysql>grant select,insert,delete,create,drop  on *.* (或nova.*其它库或表) to &#39;用户名&#39;@&#39;localhost&#39;  identified by ‘密码’;

2)全局管理MySQL用户权限:

  • file: 在MySQL服务器上读写文件。

  • PROCESS: 显示或杀死属于其它用户的服务线程。

  • RELOAD: 重载访问控制表,刷新日志等。

  • SHUTDOWN: 关闭MySQL服务。

3)特别的权限:

  • ALL: 允许做任何事(和root一样)。

  • USAGE: 只允许登录--其它什么也不允许做。

在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。

如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:  

grant all on mydb.* to NewUserName@HostName identified by “password”;  
grant usage on *.* to NewUserName@HostName identified by “password”;  
grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;  
grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;

若要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTIONrrreee

(2) Verwenden Sie den Befehl GRANT, um einen neuen Benutzer zu erstellen, das Benutzerkennwort festzulegen und die Benutzerberechtigungen zu erhöhen.

Das Format ist wie folgt:

rrreee

Zum Beispiel:
rrreee
  • neutron.*: repräsentiert alle Tabellen im Neutronendatenbank. Die Neutronenbibliothek muss vor der Autorisierung erstellt werden. Wenn *.* verwendet wird, um alle Tabellen in allen Bibliotheken darzustellen

  • 'neutron'@'localhost': stellt den erstellten Benutzernamen Neutron dar, und das folgende @ stellt den dar Kunden dürfen auf das Datenterminal zugreifen, „localhost“ bedeutet den lokalen Computer, „%“ bedeutet alle Hosts
  • [IDENTIFIED BY „cb1ebc435675187bdcfb539b370c2e37“]: Set das Neutron-Benutzerkennwort
🎜🎜 (3) Datenbankautorisierungsmethode 🎜🎜rrreee🎜6edd86b17b9eea41baa88c90cbdefa74 ist eine durch Kommas getrennte Liste von MySQL-Benutzerberechtigungen, die Sie erteilen möchten . 🎜🎜Die Berechtigungen, die Sie angeben können, können in drei Typen unterteilt werden: 🎜🎜1) Datenbank-/Datentabellen-/Datenspaltenberechtigungen: 🎜
  • 🎜Alter: Ändern Vorhandene Datentabellen (z. B. Hinzufügen/Löschen von Spalten) und Indizes. 🎜
  • 🎜Erstellen: Erstellen Sie eine neue Datenbank oder Datentabelle. 🎜
  • 🎜Löschen: Löschen Sie die Datensätze der Tabelle. 🎜
  • 🎜Drop: Eine Datentabelle oder Datenbank löschen. 🎜
  • 🎜INDEX: Index erstellen oder löschen. 🎜
  • 🎜Einfügen: Datensätze zur Tabelle hinzufügen. 🎜
  • 🎜Auswählen: Datensätze der Tabelle anzeigen/durchsuchen. 🎜
  • 🎜Update: Vorhandene Datensätze in der Tabelle ändern. 🎜
rrreee🎜2) Globale Verwaltung der MySQL-Benutzerberechtigungen: 🎜
  • 🎜file: Dateien auf dem MySQL-Server lesen und schreiben . 🎜
  • 🎜PROZESS: Service-Threads anderer Benutzer anzeigen oder beenden. 🎜
  • 🎜RELOAD: Zugriffskontrolllisten neu laden, Protokolle aktualisieren usw. 🎜
  • 🎜HERUNTERFAHREN: Beenden Sie den MySQL-Dienst. 🎜
🎜3) Sonderberechtigungen: 🎜
  • 🎜ALLE: Darf alles tun (wie root). 🎜
  • 🎜NUTZUNG: Nur zum Einloggen erlaubt – nichts anderes ist erlaubt. 🎜
🎜Während der Entwicklung und praktischen Anwendungen sollten Benutzer nicht nur den Root-Benutzer zum Herstellen einer Verbindung zur Datenbank verwenden. Obwohl es praktisch ist, den Root-Benutzer zum Testen zu verwenden, birgt dies erhebliche Sicherheitsrisiken System und auch Es ist nicht förderlich für die Verbesserung der Managementtechnologie. 🎜🎜Zum Beispiel sollte einem Benutzer, der nur Daten eingibt, keine Berechtigung zum Löschen von Daten erteilt werden. Die MySQL-Benutzerverwaltung wird über die Benutzertabelle implementiert. Es gibt zwei gängige Methoden zum Hinzufügen neuer Benutzer. Eine besteht darin, die entsprechenden Datenzeilen in die Benutzertabelle einzufügen und die zweite darin, einen Benutzer mit bestimmten Berechtigungen festzulegen GRANT-Befehl. Die übliche Verwendung von GRANT ist wie folgt: 🎜rrreee🎜Um diesem Benutzer die Möglichkeit zu geben, seine Berechtigungen für das entsprechende Objekt zu verwalten, können Sie nach GRANT die Option WITH GRANT OPTION hinzufügen. 🎜🎜Für Benutzer, die durch Einfügen in die Benutzertabelle hinzugefügt werden, sollte das Feld „Passwort“ mithilfe der PASSWORT-Funktion aktualisiert und verschlüsselt werden, um zu verhindern, dass skrupellose Personen einen Blick auf das Passwort werfen. 🎜🎜Die Benutzer, die nicht mehr verwendet werden, sollten gelöscht werden, und Benutzer, deren Berechtigungen das Limit überschritten haben, sollten umgehend zurückgefordert werden. Berechtigungen können durch Aktualisieren der entsprechenden Felder in der Benutzertabelle oder durch Verwendung der REVOKE-Operation wiederhergestellt werden. 🎜🎜🎜Wenn Sie mehr über das Erlernen des Programmierens erfahren möchten, achten Sie bitte auf die Spalte „PHP-Schulung“! 🎜🎜🎜

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie Benutzerberechtigungen in MySQL. 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