Heim  >  Artikel  >  Backend-Entwicklung  >  Benutzerverwaltung sowie Berechtigungen und Einstellungen – MySQL

Benutzerverwaltung sowie Berechtigungen und Einstellungen – MySQL

小云云
小云云Original
2017-11-16 13:27:082227Durchsuche

MySQL ist eines der beliebtesten Datenbankverwaltungssysteme der Welt. Das Buch beginnt mit einer Einführung in den einfachen Datenabruf und geht nach und nach auf komplexere Inhalte ein, einschließlich der Verwendung von Joins, Unterabfragen, regulären Ausdrücken und Volltextsuchen, gespeicherten Prozeduren, Cursorn, Triggern, Tabelleneinschränkungen usw. Durch hervorgehobene Kapitel wird das Wissen, das der Leser beherrschen sollte, klar, systematisch und prägnant beschrieben, sodass er seine Fähigkeiten sofort und ungewollt erweitern kann. In diesem Abschnitt werden hauptsächlich die zugehörigen Befehle der MySQL-Benutzerverwaltung und Berechtigungseinstellungen beschrieben.

Benutzerverwaltung

mysql>use mysql;

Ansicht

mysql>select host,user,password from user ;

Erstellen

mysql>create user zx_root;

Ändern

mysql>rename user feng to newuser; //mysql 5之后可以使用,之前需要使用update 更新user表

Löschen

mysql>drop user newuser;   //mysql5之前删除用户时必须先使用revoke 删除用户权限,然后删除用户,mysql5之后drop 命令可以删除用户的同时删除用户的相关权限

Passwort ändern

mysql>set password for zx_root =password('xxxxxx');
mysql>update  mysql.user  set  password=password('xxxx')  where user='otheruser'


Benutzerberechtigungen anzeigen

mysql>show grants for zx_root;

Berechtigungen erteilen

mysql>grant select on dmc_db.*  to zx_root;

Berechtigungen recyceln

mysql>revoke  select on dmc_db.*  from  zx_root;  //如果权限不存在会报错

Der obige Befehl kann auch verwendet werden, um mehrere Berechtigungen gleichzeitig zu erteilen und zu widerrufen. Verwenden Sie Kommas, um Berechtigungen zu trennen

mysql>grant select,update,delete  ,insert  on dmc_db.*  to  zx_root;

Wenn Sie die Ergebnisse sehen möchten sofort verwenden

flush  privileges ;

Befehlsaktualisierung

Die folgenden Informationen müssen beim Festlegen von Berechtigungen angegeben werden

1, die zu gewährenden Berechtigungen

2, Die Datenbank oder Tabelle, für die Zugriffsberechtigungen gewährt werden

3. Benutzername

Grant und Revoke können Zugriffsberechtigungen auf mehreren Ebenen steuern

1 Der gesamte Server und ALLE widerrufen

2. Für die gesamte Datenbank verwenden Sie ondatabase.*

3. Für Feature-Tabellen verwenden Sie ondatabase.table

4 🎜>

5. Für bestimmte gespeicherte Prozeduren


Die Bedeutung des Werts der Host-Spalte in der Benutzertabelle

% Entspricht allen Hosts

localhost localhost nicht wird in eine IP-Adresse geparst und ist direkt über den UNIX-Socket verbunden

127.0.0.1 wird über das TCP/IP-Protokoll verbunden und kann nur lokal aufgerufen werden

::1 Grant ist ein gewöhnliches Datenelement Benutzer mit dem Recht, Daten in allen Tabellen der Datenbank abzufragen, einzufügen, zu aktualisieren und zu löschen.

Oder verwenden Sie stattdessen einen MySQL-Befehl:

grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'

9>.Datenbankentwickler gewähren, Tabellen, Indizes, Ansichten, gespeicherte Prozeduren und Funktionen erstellen. . . und andere Berechtigungen.

grant select, insert, update, delete on testdb.* to common_user@'%'
Erteilen Sie die Berechtigung zum Erstellen, Ändern und Löschen von MySQL-Datentabellenstrukturen.

Grant betreibt MySQL-Fremdschlüsselberechtigungen.

grant create on testdb.* to developer@'192.168.0.%';
grant alter on testdb.* to developer@'192.168.0.%';
grant drop on testdb.* to developer@'192.168.0.%';

Erteilen Sie die Berechtigung zum Betrieb temporärer MySQL-Tabellen.

grant references on testdb.* to developer@'192.168.0.%';

Erteilen Sie die Berechtigung zum Betreiben von MySQL-Indizes.

grant create temporary tables on testdb.* to developer@'192.168.0.%';

Erteilen Sie die Berechtigung zum Betreiben von MySQL-Ansichten und zum Anzeigen des Quellcodes.

grant index on testdb.* to developer@'192.168.0.%';

Erteilen Sie die Berechtigung zum Betrieb gespeicherter MySQL-Prozeduren und -Funktionen.

grant create view on testdb.* to developer@'192.168.0.%';
grant show view on testdb.* to developer@'192.168.0.%';

10>.grant Ein gewöhnlicher DBA hat die Berechtigung, eine MySQL-Datenbank zu verwalten.

grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status
grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure
grant execute on testdb.* to developer@'192.168.0.%';

Dabei kann das Schlüsselwort „Privilegien“ weggelassen werden.

grant all privileges on testdb to dba@'localhost'
11>.grant Senior DBA hat die Berechtigung, alle Datenbanken in MySQL zu verwalten.

12>.MySQL-Erteilungsberechtigungen können auf mehreren Ebenen angewendet werden.

grant all on *.* to dba@'localhost'
1. Grant funktioniert auf dem gesamten MySQL-Server:

2. Grant funktioniert auf einer einzelnen Datenbank:

grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。
grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库

3 Daten in der Tabelle:

grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。

4. Grant wirkt auf die Spalten in der Tabelle:

grant select, insert, update, delete on testdb.orders to dba@localhost;

5. Grant wirkt auf gespeicherte Prozeduren und Funktionen:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;

Hinweis: Nach dem Ändern der Berechtigungen müssen Sie den Dienst aktualisieren oder neu starten. Um den Dienst zu aktualisieren, verwenden Sie: FLUSH PRIVILEGES.

grant execute on procedure testdb.pr_add to 'dba'@'localhost'
grant execute on function testdb.fn_add to 'dba'@'localhost'
Verwandte Empfehlungen:

Verwandte Kenntnisse der MySQL-Abfragezeit

Die Beziehung zwischen PHP und MySQL

Die Beziehung zwischen PHP, Apache und MySQL

Das obige ist der detaillierte Inhalt vonBenutzerverwaltung sowie Berechtigungen und Einstellungen – 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