Heim Datenbank MySQL-Tutorial Welche Berechtigungen hat MySQL?

Welche Berechtigungen hat MySQL?

Apr 12, 2022 pm 02:04 PM
mysql 权限

MySQL-Berechtigungen umfassen: 1. USAGE, das nur für die Datenbankanmeldung verwendet werden kann und keine Operationen ausführen kann; 2. SELECT, das die Verwendung von SELECT-Anweisungen zum Anzeigen von Tabelleninhalten ermöglicht; 3. super, was die Ausführung von a ermöglicht; Reihe von Datenbankverwaltungsbefehlen; 4. Prozess, ermöglicht die Anzeige von Prozessinformationen; 5. Herunterfahren usw.

Welche Berechtigungen hat MySQL?

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

Verschiedene MySQL-Berechtigungen:

Welche Berechtigungen hat MySQL?

1. VERWENDUNG: Wenn Sie einen Benutzer erstellen, wird dessen Nutzungsberechtigung automatisch erteilt (standardmäßig gewährt).

Diese Berechtigung kann nur für die Datenbankanmeldung verwendet werden und keine Vorgänge ausführen, und diese Berechtigung kann nicht wiederverwendet werden. Benutzerberechtigungen können nicht gelöscht werden, selbst wenn REVOKE verwendet wird.

 grant usage on *.* to 'iap'@'%' identified by 'iap123';
Nach dem Login kopieren

2. Berechtigungen unter der Datenkategorie

2.1. Verwenden Sie SELECT, um Tabelleninhalte anzuzeigen. Nur mit dieser Berechtigung können Sie eine SELECT-Abfrage ausführen. 2.2, Einfügen .

grant select on testdb.* to 'iap'@'%';
Nach dem Login kopieren

2.4, löschen

Sie müssen über die Löschberechtigung verfügen, bevor Sie

löschen von ….wo….(Datensätze in der Tabelle löschen) verwenden können

2.5, Datei (nicht für eine bestimmte Datenbank, daher ein Muss Verwenden Sie *.* zum Ausführen)

Die Dateiberechtigung bezieht sich auf den Zugriff auf Dateien auf dem Serverhost. Nur Datenbankbenutzer mit Dateiberechtigungen können Vorgänge zum Auswählen von ..into outfile, Load data infile... ausführen.

Aber nicht. Die Gewährung von Datei-, Prozess- und Superberechtigungen an andere Konten als Administratoren birgt ernsthafte Sicherheitsrisiken.

 update shop set price=3.5 where article=0001 and dealer='A';
Nach dem Login kopieren

Datei exportieren:

wählen

... in die Ausgabedatei 'Dateipfad'

Einstellungen für Import- und Exportpfad anzeigen:

Variablen wie '%sec%' anzeigen ;

Der Parameter

secure-file-priv

wird verwendet, um das Laden von Daten zu

zu begrenzen

, ... outfile auszuwählen und Load_file() in das

angegebene Verzeichnis

zu laden. Spezifische Änderungsmethode: https://blog.csdn.net/weixin_39631030/article/details/79873936Datei importieren: Daten in Datei laden 'Absoluter Dateipfad' in TabelleTabellenname;

Spezifische Verwendung: https://www.cnblogs.com/darange/p/10508714.html

3. Strukturelle Berechtigungen

3.1. Sie müssen über die Berechtigung „Erstellen“ verfügen, um „Tabelle erstellen“ verwenden zu können.

grant file on *.* to 'iap'@'%';
Nach dem Login kopieren

3.2, alter muss über eine Alter-Berechtigung verfügen, um alter table

verwenden zu können.

grant create on testdb.* to 'iap'@'%'
Nach dem Login kopieren
Beispiel:

3.3, Index

muss über die Indexberechtigung verfügen, um einen Index auszuführen. ix_shop auf shop;

3.4, dropalter table shop modify dealer char(15);

Sie müssen über eine Drop-Berechtigung verfügen, um

grant alter on testdb.* to 'iap'@'%'
Nach dem Login kopieren

drop Database

db_name;

drop table table_name;

drop view view_name;

Drop-Index index_name;

3.5, temporäre Tabellen erstellen (beachten Sie, dass es sich hierbei um Tabellen und nicht um Tabellen handelt)

Sie müssen über die Berechtigung zum Erstellen temporärer Tabellen verfügen, bevor Sie „Temporäre Tabellen erstellen“ verwenden können.

grant index on testdb.* to 'iap'@'%';
Nach dem Login kopieren

3.6, Ansicht anzeigen

必须拥有show view权限,才能执行show create view

grant show view on testdb.* to 'iap'@'%';

show create view view_shop;
Nach dem Login kopieren

3.7、CREATE ROUTINE:创建procedure或function的权限。

如果用户有create routine 权限那么他就可以创建procedure | function 。

create  {procedure|function}

如果用户创建了procedure | function 那么mysql 自动授予EXECUTE, ALTER ROUTINE权限给它的创建者:

grant create routine on testdb.* to 'iap'@'%';
Nach dem Login kopieren

3.8、alter routine

必须具有alter routine的权限,才可以使用

{alter |drop} {procedure|function}

-- 授予 testdb数据库 修改/删除 存储过程/函数的权限
grant alter routine on testdb.* to 'iap'@'%';
Nach dem Login kopieren

3.9、excute

执行存在的FunctionsProcedures。

grant execute on testdb.* to 'iap'@'%';
Nach dem Login kopieren

3.10 、create view

必须有create view的权限,才可以使用 create view 创建视图。

-- 授予'iap'@'localhost'创建视图权限
grant create view on testdb.* to 'iap'@'%';

-- 例 : 'iap'@'localhost' 登录,创建v_shop视图
create view v_shop as select price from shop;
Nach dem Login kopieren

3.11 、event

 event : 允许查询,创建,修改,删除MySQL事件.

事件适用范围:对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理。

详细说明:https://www.cnblogs.com/langtianya/p/5445528.html

例如:使用event在每月的1日凌晨1点自动创建下个月需要使用的三张表。

3.12 、Trigger

Trigger权限代表允许创建,删除,执行,显示触发器的权限.

4、管理权限

4.1、grant option

拥有grant option,就可以将自己拥有的权限授予其他用户(仅限于自己已经拥有的权限)

grant grant option on testdb.* to 'iap'@'%';
Nach dem Login kopieren

4.2、super

Super权限代表允许执行一系列数据库管理命令,包括kill强制关闭某个连接命令, change master to创建复制关系命令,以及create/alter/drop server等命令,修改全局变量的SET语句

mysql> grant super on *.* to p1@localhost;
mysql> purge master logs before ‘mysql-bin.000006′;
Nach dem Login kopieren

4.3、 process

Process权限代表允许查看MySQL中的进程信息,比如执行show processlist, mysqladmin processlist, show engine等命令

通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令。默认情况下,每个用户都可以执行SHOW PROCESSLIST命令,但是只能查询本用户的进程。

show PROCESSLIST
Nach dem Login kopieren

另外,管理权限(如 super, process, file等)不能够指定某个数据库,on后面必须跟*.*

grant super on *.* to p1@localhost;
Nach dem Login kopieren

4.4、Shutdown

shutdown权限代表允许关闭数据库实例,执行语句包括 : mysqladmin shutdown.

4.5、 show database

通过show database只能看到你拥有的某些权限的数据库,除非你拥有全局SHOW DATABASES权限。

对于iap@%t用户来说,没有对mysql数据库的权限,所以以此身份登陆查询时,无法看到mysql数据库:

4.6、reload

必须拥有reload权限,才可以执行flush [tables | logs | privileges]

reload 是 administrative 级的权限,即 server administration;

这类权限包括: create user, process, reload, replication client, replication slave, show databases, shutdown, super
这类权限的授权不是针对某个数据库的,因此须使用on *.* 来进行

grant reload on *.* to 'iap'@'%'
Nach dem Login kopieren

4.7、lock tables

必须拥有lock tables权限,才可以使用lock tables

grant lock tables on testdb.* to 'iap'@'localhost';
Nach dem Login kopieren

 lock tables a1 read;

unlock tables;

4.8、references

有了references权限,用户就可以将其它表的一个字段作为某一个表的外键约束。

4.9、replication client

Replication client权限代表允许执行show master status,  show slave status,   show binary logs命令

4.10、replication slave

Replikations-Slave-Berechtigung bedeutet, dass der Slave-Host über diesen Benutzer eine Verbindung zum Master herstellen darf, um eine Master-Slave-Replikationsbeziehung herzustellen. Sie können den Slave-Server anzeigen und Binärprotokolle vom Master-Server lesen.

Replikations-Slave auf *.* an 'iap'@'%' gewähren;

Slave-Hosts anzeigen;

Binlog-Ereignisse anzeigen;

4.11, Benutzer erstellen

Benutzerberechtigungen erstellen, die das Erstellen und Ändern ermöglichen, Benutzerberechtigungen löschen und umbenennen.

5. Berechtigungstyptabelle

5.1. Bei der Erteilung von Datenbankberechtigungen entspricht die Tabelle „Berechtigungstyp“ dem Feld in der Benutzertabelle Skript

SELECTINSERTDELETEUPDATEREFERENCESCREATEALTERVIEW VIEWROUTINE ERSTELLENALTER ROUTINEINDEXDROPTemporäre Tabellen erstellenANSICHT ERSTELLENEXECUTE ROUTINELOCK TABLESALLE oder ALLE PRIVILEGES oder SUPERBerechtigungsname
Select_priv bedeutet, dem Benutzer mithilfe der SELECT-Anweisung die Berechtigung zu erteilen, auf alle Tabellen und Ansichten in einer bestimmten Datenbank zuzugreifen.
Insert_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, mithilfe der INSERT-Anweisung Datenzeilen zu allen Tabellen in einer bestimmten Datenbank hinzuzufügen.
Delete_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, Datenzeilen aus allen Tabellen in einer bestimmten Datenbank mithilfe der DELETE-Anweisung zu löschen.
Update_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, die Werte aller Datentabellen in einer bestimmten Datenbank mithilfe der UPDATE-Anweisung zu aktualisieren.
References_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, Fremdschlüssel zu erstellen, die auf Tabellen in einer bestimmten Datenbank verweisen.
Create_priv stellt die Berechtigung dar, die ein autorisierter Benutzer verwenden kann, um mithilfe der CREATE TABLE-Anweisung eine neue Tabelle in einer bestimmten Datenbank zu erstellen.
Alter_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, alle Datentabellen in einer bestimmten Datenbank mithilfe der ALTER TABLE-Anweisung zu ändern.
Show_view_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, die Ansichtsdefinitionen vorhandener Ansichten in einer bestimmten Datenbank anzuzeigen.
Create_routine_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, gespeicherte Prozeduren und gespeicherte Funktionen für eine bestimmte Datenbank zu erstellen.
Alter_routine_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, vorhandene gespeicherte Prozeduren und gespeicherte Funktionen in der Datenbank zu aktualisieren und zu löschen.
Index_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, Indizes für alle Datentabellen in einer bestimmten Datenbank zu definieren und zu löschen.
Drop_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, alle Tabellen und Ansichten in einer bestimmten Datenbank zu löschen.
Create_tmp_table_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, temporäre Tabellen in einer bestimmten Datenbank zu erstellen.
Create_view_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, neue Ansichten in einer bestimmten Datenbank zu erstellen.
Execute_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, gespeicherte Prozeduren und gespeicherte Funktionen einer bestimmten Datenbank aufzurufen.
Lock_tables_priv bedeutet, dem Benutzer die Berechtigung zu erteilen, vorhandene Datentabellen einer bestimmten Datenbank zu sperren.
Super_priv bedeutet alle oben genannten Berechtigungen/Superberechtigungen
5.2 Bei der Erteilung von Tabellenberechtigungen kann als folgender Wert angegeben werden:
entspricht dem Feld in der Benutzertabelle

Beschreibung

SELECT EINFÜGENDELETE DROPUPDATEGewähren Sie dem Benutzer die Berechtigung, die ALTER TABLE-Anweisung zum Ändern der Datentabelle zu verwenden. Die Berechtigung REFERENCESReferences_privGewährt dem Benutzer die Berechtigung, einen Fremdschlüssel zum Referenzieren einer bestimmten Datentabelle zu erstellenCREATE Create_privGewährt dem Benutzer die Berechtigung, eine Datentabelle unter einem bestimmten Namen zu erstellenINDEXIndex_privGewährt dem Benutzer die Berechtigung, Indizes für die Tabelle zu definierenALL oder ALL PRIVILEGES oder SUPER Super_privAlle Berechtigungsnamen

5.3. Spaltenberechtigungen erteilen

Beim Erteilen von Spaltenberechtigungen kann der Wert von nur als SELECT, INSERT und UPDATE angegeben werden, und die Spaltennamenliste (Spaltenliste) muss nach den Berechtigungen hinzugefügt werden.

5.4. Die effizienteste Berechtigung ist die Benutzererlaubnis.

Bei der Erteilung von Benutzerberechtigungen kann der zusätzlich zu allen Werten, die bei der Erteilung von Datenbankberechtigungen angegeben werden können, auch die folgenden Werte sein:

  • BENUTZER ERSTELLEN: Gibt an, dass der gewährte Benutzer dies tun kann Berechtigungen zum Erstellen und Löschen neuer Benutzer.
  • SHOW DATABASES: Zeigt an, dass dem Benutzer die Berechtigung erteilt wurde, die SHOW DATABASES-Anweisung zum Anzeigen der Definitionen aller vorhandenen Datenbanken zu verwenden.

【Verwandte Empfehlungen: MySQL-Video-Tutorial

Select_priv Gewährt dem Benutzer die Berechtigung, mit der SELECT.-Anweisung auf eine bestimmte Tabelle zuzugreifen
Insert_priv Dem Benutzer wird die Berechtigung erteilt, Datenzeilen mit der INSERT-Anweisung zu einer bestimmten Tabelle hinzuzufügen
Delete_priv Gewährt dem Benutzer die Berechtigung, Datenzeilen mit der DELETE-Anweisung aus einer bestimmten Tabelle zu löschen
Drop_priv Gewähren Sie dem Benutzer die Berechtigung zum Löschen der Datentabelle.
Update_priv

Das obige ist der detaillierte Inhalt vonWelche Berechtigungen hat MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die Beziehung zwischen MySQL -Benutzer und Datenbank Die Beziehung zwischen MySQL -Benutzer und Datenbank Apr 08, 2025 pm 07:15 PM

In der MySQL -Datenbank wird die Beziehung zwischen dem Benutzer und der Datenbank durch Berechtigungen und Tabellen definiert. Der Benutzer verfügt über einen Benutzernamen und ein Passwort, um auf die Datenbank zuzugreifen. Die Berechtigungen werden über den Zuschussbefehl erteilt, während die Tabelle durch den Befehl create table erstellt wird. Um eine Beziehung zwischen einem Benutzer und einer Datenbank herzustellen, müssen Sie eine Datenbank erstellen, einen Benutzer erstellen und dann Berechtigungen erfüllen.

MySQL: Die einfache Datenverwaltung für Anfänger MySQL: Die einfache Datenverwaltung für Anfänger Apr 09, 2025 am 12:07 AM

MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.

Kann ich das Datenbankkennwort in Navicat abrufen? Kann ich das Datenbankkennwort in Navicat abrufen? Apr 08, 2025 pm 09:51 PM

Navicat selbst speichert das Datenbankkennwort nicht und kann das verschlüsselte Passwort nur abrufen. Lösung: 1. Überprüfen Sie den Passwort -Manager. 2. Überprüfen Sie Navicats "Messnot Password" -Funktion; 3.. Setzen Sie das Datenbankkennwort zurück; 4. Kontaktieren Sie den Datenbankadministrator.

Die Abfrageoptimierung in MySQL ist für die Verbesserung der Datenbankleistung von wesentlicher Bedeutung, insbesondere im Umgang mit großen Datensätzen Die Abfrageoptimierung in MySQL ist für die Verbesserung der Datenbankleistung von wesentlicher Bedeutung, insbesondere im Umgang mit großen Datensätzen Apr 08, 2025 pm 07:12 PM

1. Verwenden Sie den richtigen Index, um das Abrufen von Daten zu beschleunigen, indem die Menge der skanierten Datenmenge ausgewählt wird. Wenn Sie mehrmals eine Spalte einer Tabelle nachschlagen, erstellen Sie einen Index für diese Spalte. Wenn Sie oder Ihre App Daten aus mehreren Spalten gemäß den Kriterien benötigen, erstellen Sie einen zusammengesetzten Index 2. Vermeiden Sie aus. Auswählen * Nur die erforderlichen Spalten. Wenn Sie alle unerwünschten Spalten auswählen, konsumiert dies nur mehr Serverspeicher und veranlasst den Server bei hoher Last oder Frequenzzeiten, beispielsweise die Auswahl Ihrer Tabelle, wie beispielsweise die Spalten wie innovata und updated_at und Zeitsteuer und dann zu entfernen.

So erstellen Sie Navicat Premium So erstellen Sie Navicat Premium Apr 09, 2025 am 07:09 AM

Erstellen Sie eine Datenbank mit Navicat Premium: Stellen Sie eine Verbindung zum Datenbankserver her und geben Sie die Verbindungsparameter ein. Klicken Sie mit der rechten Maustaste auf den Server und wählen Sie Datenbank erstellen. Geben Sie den Namen der neuen Datenbank und den angegebenen Zeichensatz und die angegebene Kollektion ein. Stellen Sie eine Verbindung zur neuen Datenbank her und erstellen Sie die Tabelle im Objektbrowser. Klicken Sie mit der rechten Maustaste auf die Tabelle und wählen Sie Daten einfügen, um die Daten einzufügen.

So kopieren Sie Tabellen in MySQL So kopieren Sie Tabellen in MySQL Apr 08, 2025 pm 07:24 PM

Durch das Kopieren einer Tabelle in MySQL müssen neue Tabellen erstellt, Daten eingefügt, Fremdschlüssel festgelegt, Indizes, Auslöser, gespeicherte Verfahren und Funktionen kopiert werden. Zu den spezifischen Schritten gehören: Erstellen einer neuen Tabelle mit derselben Struktur. Fügen Sie Daten aus der ursprünglichen Tabelle in eine neue Tabelle ein. Legen Sie die gleiche fremde Schlüsselbeschränkung fest (wenn die Originaltabelle eine hat). Erstellen Sie den gleichen Index. Erstellen Sie denselben Auslöser (wenn die ursprüngliche Tabelle eine hat). Erstellen Sie dieselbe gespeicherte Prozedur oder Funktion (wenn die ursprüngliche Tabelle verwendet wird).

Wie kann ich das Datenbankkennwort in Navicat für Mariadb anzeigen? Wie kann ich das Datenbankkennwort in Navicat für Mariadb anzeigen? Apr 08, 2025 pm 09:18 PM

Navicat für MariADB kann das Datenbankkennwort nicht direkt anzeigen, da das Passwort in verschlüsselter Form gespeichert ist. Um die Datenbanksicherheit zu gewährleisten, gibt es drei Möglichkeiten, Ihr Passwort zurückzusetzen: Setzen Sie Ihr Passwort über Navicat zurück und legen Sie ein komplexes Kennwort fest. Zeigen Sie die Konfigurationsdatei an (nicht empfohlen, ein hohes Risiko). Verwenden Sie Systembefehlsleitungs -Tools (nicht empfohlen, Sie müssen die Befehlszeilen -Tools beherrschen).

Wie man MySQL sieht Wie man MySQL sieht Apr 08, 2025 pm 07:21 PM

Zeigen Sie die MySQL -Datenbank mit dem folgenden Befehl an: Verbindung zum Server: MySQL -U -Benutzername -P -Kennwort ausführen STEILE -Datenbanken; Befehl zum Abrufen aller vorhandenen Datenbanken auswählen Datenbank: Verwenden Sie den Datenbanknamen. Tabelle Ansicht: Tabellen anzeigen; Tabellenstruktur anzeigen: Beschreiben Sie den Tabellennamen; Daten anzeigen: Wählen Sie * aus Tabellenname;

See all articles