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
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@'%'
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'
12>.MySQL-Erteilungsberechtigungen können auf mehreren Ebenen angewendet werden.
grant all on *.* to dba@'localhost'
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 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!