MySQL Series 6-Benutzer und Autorisierung

MySQL Series 6-Benutzer und Autorisierung

Tutorial-Reihe

MySQL-Reihe: Grundlegende Konzepte der relationalen MySQL-Datenbank
MariaDB-Serverinstallation der MySQL-Reihe
MySQL Series II-Konfiguration für mehrere Instanzen
MySQL Serie 3 Grundlagen
MySQL Serie 4 SQL-Syntax
MySQL-Serie fünf Ansichten, gespeicherte Funktionen, gespeicherte Prozeduren, Trigger
MySQL Series 7 MySQL-Speicher-Engine
MySQL Serie 8 MySQL Server-Variablen
MySQL-Serie 9 MySQL-Abfrage-Cache und -Index
MySQL Series 10 MySQL-Transaktionsisolierung zur Implementierung der Parallelitätskontrolle
MySQL Series 11-Protokollierung
MySQL Serie 12 Backup und Wiederherstellung
MySQL Serie 13 MySQL-Replikation
MySQL Serie 14 MySQL Hochverfügbarkeitsimplementierung
MySQL-Serie 15: Allgemeine MySQL-Konfiguration und Leistungsstresstest

1. Benutzerverwaltung

1. Benutzerkonto

Das Benutzerkonto besteht aus zwei Teilen: Benutzername und HOST ('USERNAME'@'HOST')

HOST bedeutet:

  • Hostname
  • Spezifische IP-Adresse
  • Netzwerksegment/Maske

Sie können Platzhalter, % und _ verwenden; 192.168.% bedeutet alle Hosts in diesem Netzwerksegment

2. Konten hinzufügen und löschen

Main: Nach dem Ändern der Benutzerinformationen in der Datenbank müssen Sie FLUSH PRIVILEGES ausführen, um die Autorisierungstabelle zu aktualisieren und wirksam zu machen.

erstellen

  MariaDB [mysql]> CREATE USER 'Benutzer1'@'192.168.%';
  MariaDB [mysql]> ERSTELLEN SIE BENUTZER 'user2'@'192.168.%' IDENTIFIZIERT DURCH 'Ihr_Passwort';
  MariaDB [mysql]> SELECT Benutzer, Host, Passwort FROM Benutzer;
  +----------+-----------+-------------------------------------------+
  | Benutzer | Host | Passwort |
  +----------+-----------+-------------------------------------------+
  | root | lokaler Host | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
  | Wurzel | centos7 | |
  | Wurzel | 127.0.0.1 | |
  | Wurzel | ::1 | |
  | | lokaler Host | |
  | | centos7 | |
  | Benutzer1 | 192,168.% | |
  | Benutzer2 | 192,168.% | *9E72259BA9214F692A85B240647C4D95B0F2E08B |
  +----------+-----------+-------------------------------------------+

löschen

  MariaDB [mysql]> DROP USER Benutzer2@'192.168.%';
  MariaDB [mysql]> SELECT Benutzer, Host, Passwort FROM Benutzer;      
  +----------+-----------+-------------------------------------------+
  | Benutzer | Host | Passwort |
  +----------+-----------+-------------------------------------------+
  | root | lokaler Host | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
  | Wurzel | centos7 | |
  | Wurzel | 127.0.0.1 | |
  | Wurzel | ::1 | |
  | | lokaler Host | |
  | | centos7 | |
  | Benutzer1 | 192,168 % | |
  +----------+-----------+-------------------------------------------+

Umbenennen

  MariaDB [mysql]> BENUTZER umbenennen user1@'192.168.%' in testuser@'%';
  MariaDB [mysql]> SELECT Benutzer, Host, Passwort FROM mysql.user;
  +----------+----------+-------------------------------------------+
  | Benutzer | Host | Passwort |
  +----------+----------+-------------------------------------------+
  | root | lokaler Host | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
  | Wurzel | centos7 | |
  | Wurzel | 127.0.0.1 | |
  | Wurzel | ::1 | |
  | | lokaler Host | |
  | | centos7 | |
  | Testbenutzer | % | |
  +----------+----------+-------------------------------------------+

Kennwort ändern

  MariaDB [mysql]> PASSWORT FÜR Testbenutzer festlegen@'%' = PASSWORT('testpass');
  MariaDB [mysql]> SELECT Benutzer, Host, Passwort FROM mysql.user;          
  +----------+----------+-------------------------------------------+
  | Benutzer | Host | Passwort |
  +----------+----------+-------------------------------------------+
  | root | lokaler Host | *4A54C3F37C03C7FBACE31591D6A8C546F93DF5C5 |
  | Wurzel | centos7 | |
  | Wurzel | 127.0.0.1 | |
  | Wurzel | ::1 | |
  | | lokaler Host | |
  | | centos7 | |
  | Testbenutzer | % | *00E247AC5F9AF26AE0194B41E1E769DEE1429A29 |
  +----------+----------+-------------------------------------------+

Weitere Möglichkeiten zum Ändern Ihres Passworts:

​ UPDATE Benutzer SET Passwort=PASSWORT('Testpass') WHERE Benutzer='Testbenutzer';

# mysqladmin -uroot -poldpass Passwort „newpass“

3. Knacken Sie das Administratorkennwort

Wiederherstellen von Passwörtern aus einer leeren Datenbank

  # systemctl stop mariadb
  # rm -rf /var/lib/mysql/* #Datenbank löschen und weglaufen # systemctl start mariadb

Passwort mit Daten wiederherstellen

1) Fügen Sie die Parameter „skip-grant-tables“ und „skip-networking“ unter [mydqld] in der Konfigurationsdatei /etc/my.cnf hinzu.

2) # systemctl restart MariaDB-Neustartdienst

3) Führen Sie MySQL aus, um sich bei der Datenbank anzumelden

4) MariaDB [(keine)]> UPDATE mysql.user SET password=PASSWORD('newpassword') WHERE user='root' AND host='localhost'; #Passwort aktualisieren

5) MariaDB [(keine)]> FLUSH PRIVILEGES; #Autorisierungstabelle aktualisieren

6) Beenden Sie den Dienst, ändern Sie die Konfigurationsdatei, löschen Sie die Parameter „skip-grant-tables“ und „skip-networking“ und starten Sie ihn neu. Sie können beim Starten des mysqld-Prozesses auch die folgenden Optionen dafür verwenden:

--skip-grant-tables

--skip-networking

2. Berechtigungsmanagement

1. Autorisierung

​ Syntax: GRANT priv_type ON [Objekttyp] priv_level TO Benutzer@'%' [IDENTIFIZIERT DURCH 'Passwort'] [MIT GRANT OPTION];

Wenn der Benutzer während der Autorisierung nicht existiert, wird er erstellt. Daher erstellen wir normalerweise keinen separaten Benutzer, sondern schließen die Autorisierungserstellung gleichzeitig ab.

priv_type Autorisierungstyp

-WÄHLEN

- EINFÜGEN

- AKTUALISIEREN

- LÖSCHEN

- ERSTELLEN

- FALLEN

-INDEX

-ÄNDERN

- ​DATENBANKEN ANZEIGEN

- ​Temporäre Tabellen erstellen

- TABELLEN VERRIEGELN

- ​ANSICHT ERSTELLEN

- ANSICHT ANZEIGEN

- BENUTZER ERSTELLEN

- ALLE PRIVILEGIEN oder ALLE

object_type Autorisierungsobjekt

-TISCH

- FUNKTION

- VERFAHREN

priv_level Autorisierungsstufe

- * oder *.* bedeutet alle Bibliotheken

- db_name.* bedeutet alle Tabellen in der angegebenen Datenbank

- db_name.tbl_name Die angegebene Tabelle in der angegebenen Bibliothek

- tbl_name gibt die Tabelle der aktuellen Bibliothek an

- db_name.routine_name gibt die Funktion, die gespeicherte Prozedur oder den Trigger der angegebenen Bibliothek an

MIT ZUSCHUSSOPTION

- MAX_QUERIES_PER_HOUR Anzahl

- MAX_UPDATES_PER_HOUR Anzahl

-MAX_CONNECTIONS_PER_HOUR Anzahl

-MAX_USER_CONNECTIONS Anzahl

MariaDB [Schule]> GRANT SELECT(stuid,name) ON TABLE school.students TO admin@'%' IDENTIFIED BY 'admin'; #Autorisieren Sie die Abfrageberechtigung für die Felder „stuid“ und „name“ der Tabelle „students“ für den Benutzer admin@'%'. MariaDB [Schule]> FLUSH PRIVILEGES; #Aktualisieren Sie die Autorisierungstabelle.

2. Autorisierung abfragen

MariaDB [Schule]> SHOW GRANTS FOR admin@'%'\G #Berechtigungen des angegebenen Benutzers anzeigen**************************** 1. Zeile ***************************
Berechtigungen für admin@%: GRANT USAGE ON *.* TO ‚admin‘@‚%‘ IDENTIFIED BY PASSWORD ‚*4ACFE3202A5FF5CF467898FC58AAB1D615029441‘
*************************** 2. Reihe ***************************
Zuschüsse für admin@%: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'
[root@working ~]# mysql -uadmin -padmin -h192.168.0.7
MariaDB [(keine)]> SHOW GRANTS FOR CURRENT_USER()\G #Eigene Berechtigungen abfragen**************************** 1. Zeile ***************************
Berechtigungen für admin@%: GRANT USAGE ON *.* TO ‚admin‘@‚%‘ IDENTIFIED BY PASSWORD ‚*4ACFE3202A5FF5CF467898FC58AAB1D615029441‘
*************************** 2. Reihe ***************************
Zuschüsse für admin@%: GRANT SELECT (stuid, name) ON `school`.`students` TO 'admin'@'%'

3. Widerruf der Vollmacht

MariaDB [Schule]> REVOKE SELECT(stuid) ON school.students FROM admin@'%'; #Widerruf der Abfrageberechtigung des Benutzers admin@'%' für das Feld „stuid“

Zusammenfassen

Dies ist das Ende dieses Artikels über MySQL-Benutzer und -Autorisierung. Weitere relevante Inhalte zu MySQL-Benutzern und -Autorisierung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • MySQL-Benutzererstellung und Autorisierungsmethode
  • MySql Benutzer hinzufügen, Autorisierung, Passwort ändern und andere Anweisungen
  • So erstellen, autorisieren und widerrufen Sie MySQL-Benutzer
  • Gemeinsame Nutzung von Methoden zum Anlegen neuer Benutzer und zur Autorisierung in MySQL
  • Methoden zur Benutzerautorisierung und Autorisierungslöschung in MySQL
  • MySQL-Datenbank erstellen, Benutzer hinzufügen, Benutzerautorisierung, praktische Methode
  • mysql5.7 Benutzerberechtigung erstellen Benutzer löschen Berechtigung widerrufen
  • MySql-Installations- und Konfigurationsmethode (MySQL-Benutzer hinzufügen, Benutzer löschen und Autorisierung)
  • Erstellen, Autorisieren, Löschen und Ändern von Passwörtern von MySQL-Benutzern in der WIN-Eingabeaufforderung
  • MySQL erstellt Benutzer, autorisiert Benutzer, widerruft Benutzerberechtigungen, ändert Benutzerkennwörter und löscht Benutzer (praktische Tipps)

<<:  Detaillierte Erklärung zum Festlegen des Kontextpfads in der Webanwendung

>>:  Die spezifische Verwendung von CSS-Attributen zur Optimierung der Frontend-Seitendarstellung wird sich ändern

Artikel empfehlen

Zusammenfassung der in MySQL häufig verwendeten Verkettungsanweisungen

Vorwort: In MySQL wird die Funktion CONCAT() verw...

Tutorial zu HTML-Tabellen-Tags (34): Zeilenspannen-Attribut ROWSPAN

In einer komplexen Tabellenstruktur erstrecken si...

Verwenden Sie CSS-Variablen, um coole und erstaunliche Schwebeeffekte zu erzielen

Kürzlich habe ich auf der Grover-Website eine lus...

Anwendungsbeispiele für die MySQL-Volltextsuche

Inhaltsverzeichnis 1. Umweltvorbereitung 2. Daten...

Vue setzt die Daten auf ihren ursprünglichen Zustand zurück

In einigen Fällen müssen die Daten in den Daten w...

Detaillierte Erklärung von count(), group by, order by in MySQL

Ich bin vor Kurzem auf ein Problem gestoßen, als ...

So schreiben Sie eine Node.JS-Version eines Spiels

Inhaltsverzeichnis Überblick Build-Prozess Verwan...

Vermeidung von durch Closures verursachten Problemen in JavaScript

Über let, um Probleme durch Schließung zu vermeid...

So lernen Sie algorithmische Komplexität mit JavaScript

Inhaltsverzeichnis Überblick Was ist die O-Notati...

Zusammenfassung der Implementierungsmethoden und Punkte der H5-Wakeup-APP

Inhaltsverzeichnis Vorwort Zur APP-Methode spring...