Detaillierte Erläuterung der Prinzipien und Implementierungsmethoden der MySQL-Kontoverwaltung

Detaillierte Erläuterung der Prinzipien und Implementierungsmethoden der MySQL-Kontoverwaltung

Dieser Artikel veranschaulicht anhand von Beispielen die Prinzipien und Implementierungsmethoden der MySQL-Kontoverwaltung. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Kontoverwaltung

Wenn Sie die Datenbank in einer Produktionsumgebung betreiben, dürfen Sie für die Verbindung niemals das Root-Konto verwenden. Erstellen Sie stattdessen ein bestimmtes Konto, erteilen Sie diesem Konto bestimmte Betriebsberechtigungen und stellen Sie dann die Verbindung für den Betrieb her. Der Hauptvorgang ist das CRUD der Daten.
MySQL-Kontosystem: Entsprechend den unterschiedlichen Berechtigungen des Kontos können MySQL-Konten in die folgenden Typen von Konten auf Serviceinstanzebene unterteilt werden:, ein mysqld wird gestartet, das eine Datenbankinstanz ist; wenn ein Benutzer, wie etwa root, die Berechtigungen auf Serviceinstanzebene zugewiesen hat, kann das Konto alle Datenbanken löschen, einschließlich der Tabellen in diesen Datenbanken. Konto auf Datenbankebene: Führt alle Vorgänge aus, wie etwa Hinzufügen, Löschen, Ändern und Abfragen einer bestimmten Datenbank. Konto auf Tabellenebene: Führt alle Vorgänge aus, wie etwa Hinzufügen, Löschen, Ändern und Abfragen einer bestimmten Tabelle. Berechtigungen auf Feldebene: Führt Vorgänge für bestimmte Felder bestimmter Tabellen aus. Konten auf gespeicherter Programmebene: Führt Vorgänge aus, wie etwa Hinzufügen, Löschen, Ändern und Abfragen gespeicherter Programme. Zu den Kontovorgängen gehören hauptsächlich das Erstellen von Konten, das Löschen von Konten, das Ändern von Passwörtern und das Autorisieren von Berechtigungen. Hinweis:

Wenn Sie Kontovorgänge ausführen, müssen Sie sich mit dem Root-Konto anmelden. Dieses Konto verfügt über die höchsten Berechtigungen auf Instanzebene und verwendet normalerweise Betriebsberechtigungen auf Datenbankebene.

Erteilen von Berechtigungen

Sie müssen sich mit einem Konto auf Instanzebene anmelden, beispielsweise mit „root“.

Zu den wichtigsten Operationen gehören:

Alle Benutzer anzeigen Passwort ändern Benutzer löschen

1. Alle Benutzer anzeigen

Alle Benutzer- und Berechtigungsinformationen werden in der Benutzertabelle der MySQL-Datenbank gespeichert. Sehen Sie sich die Struktur der Benutzertabelle an
Beschreibung des Benutzers;
Hauptfeldbeschreibung:
Host gibt den Host an, der Zugriff hat
Benutzer steht für den Benutzernamen
authentication_string stellt das Passwort dar, das der verschlüsselte Wert zum Anzeigen aller Benutzer ist

Wählen Sie Host, Benutzer, Authentifizierungszeichenfolge vom Benutzer aus.

Ergebnis

mysql> wähle Host, Benutzer, Authentifizierungszeichenfolge vom Benutzer aus;
+-----------+------------------+-------------------------------------------+
| Host | Benutzer | Authentifizierungszeichenfolge |
+-----------+------------------+-------------------------------------------+
| lokaler Host | root | *E74858DB86EBA20BC33D0AECAE8A8108C56B17FA |
| localhost | mysql.sys | *DIES IST KEIN GÜLTIGES PASSWORT, DAS HIER VERWENDET WERDEN KANN |
| lokaler Host | debian-sys-maint | *EFED9C764966EDB33BB7318E1CBD122C0DFE4827 |
+-----------+------------------+-------------------------------------------+
3 Zeilen im Satz (0,00 Sek.)

2. Konto erstellen und autorisieren

Sie müssen ein Konto auf Instanzebene verwenden, um sich anzumelden und zu arbeiten. Am Beispiel von root sind die allgemeinen Berechtigungen: Erstellen, Ändern, Löschen, Einfügen, Aktualisieren, Löschen, Auswählen
Wenn Sie alle Berechtigungen zuweisen möchten, können Sie alle Berechtigungen verwenden

2.1 Konto erstellen und autorisieren

Gewähren Sie der durch „Passwort“ identifizierten Berechtigungsliste für die Datenbank „Benutzername“@„Zugriffshost“.

2.2 Beispiel 1

Erstellen Sie ein Konto mit dem Namen „laowang“ und dem Kennwort „123456“. Auf das Konto kann nur lokal zugegriffen werden und es kann nur alle Tabellen in der Datenbank „jing_dong“ lesen.

Schritt 1: Als Root anmelden

mysql -uroot -p
Geben Sie das Passwort ein und drücken Sie dann die Eingabetaste

Schritt 2: Konto erstellen und alle Berechtigungen erteilen

gewähre „laowang“@„localhost“, identifiziert durch „123456“, „Select“ für jing_dong.*;

veranschaulichen

Alle Tabellen der Python-Datenbank können folgendermaßen bedient werden: jing_dong.*
Der Zugriffshost verwendet normalerweise das Prozentzeichen %, um anzuzeigen, dass dieses Konto jeden IP-Host verwenden kann, um sich anzumelden und auf diese Datenbank zuzugreifen. Der Zugriffshost kann auf localhost oder eine bestimmte IP eingestellt werden, was bedeutet, dass nur der lokale Computer oder ein bestimmter Host zugreifen darf. Zeigen Sie die Berechtigungen an, die der Benutzer hat

Zuschüsse für laowang@localhost anzeigen;

Schritt 3: Als Root abmelden

aufhören

Schritt 4: Mit dem Laowang-Konto anmelden

mysql -ulaowang -p
Geben Sie das Passwort ein und drücken Sie dann die Eingabetaste

Die Wirkung nach dem Einloggen ist wie folgt
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

2.3 Beispiel 2

Erstellen Sie ein Laoli-Konto mit dem Kennwort 12345678, auf das von jedem Computer aus zugegriffen werden kann und das über volle Berechtigungen für alle Tabellen in der Jing_dong-Datenbank verfügt.

gewähre "laoli"@"%", identifiziert durch "12345678", alle Privilegien für jing_dong.*

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Kontoführung

1. Berechtigungen ändern

Gewähren Sie dem Konto@Host mit der Gewährungsoption die Berechtigungsbezeichnung für die Datenbank.

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

2. Passwort ändern

Melden Sie sich als Root an und ändern Sie die Benutzertabelle in der MySQL-Datenbank

Verwenden Sie die Funktion password(), um das Passwort zu verschlüsseln

Benutzer aktualisieren, Authentication_String=Passwort('neues Passwort') festlegen, wobei Benutzer='Benutzername';
Beispiel:
Benutzer aktualisieren, Authentifizierungszeichenfolge = Passwort (,123‘) festlegen, wobei Benutzer = ,laowang‘;

Beachten Sie, dass Sie die Berechtigungen nach Abschluss der Änderung aktualisieren müssen

Berechtigungen leeren

3. Remote-Login (gefährlich, mit Vorsicht verwenden)

Wenn Sie den Befehl msyql in Ubuntu verwenden möchten, um eine Remote-Verbindung zu einem anderen MySQL-Server herzustellen, können Sie dies auf folgende Weise tun. Diese Methode dient jedoch nur zum Verständnis und sollte nicht in einer tatsächlichen Produktionsumgebung verwendet werden.

Ändern Sie die Datei /etc/mysql/mysql.conf.d/mysqld.cnf

vim /etc/mysql/mysql.conf.d/mysqld.cnf

Bildbeschreibung hier einfügen
Starten Sie dann msyql neu

Dienst MySQL Neustart

Testen Sie die Verbindung in einem anderen Ubuntu

Bildbeschreibung hier einfügen
Wenn Sie immer noch keine Verbindung herstellen können, kann dies folgende Gründe haben:

  1. Das Netzwerk funktioniert nicht

Mit Ping xxx.xxx.xx.xxx können Sie feststellen, ob das Netzwerk normal ist.

2) Überprüfen Sie, ob die Datenbank mit dem Parameter bind_address konfiguriert ist

Melden Sie sich lokal bei der Datenbank an, um die Datei my.cnf und die aktuellen Parameter der Datenbank anzuzeigen, die Variablen wie „bind_address“ anzeigen.

Wenn bind_address=127.0.0.1 gesetzt ist, können Sie sich nur lokal anmelden

3) Überprüfen Sie, ob der Parameter skip_networking in der Datenbank festgelegt ist

Wenn dieser Parameter gesetzt ist, können Sie sich nur lokal an der MySQL-Datenbank anmelden

4) Ist der Port richtig angegeben?

4. Löschung Ihres Kontos

Syntax 1: Als Root anmelden

Benutzer „Benutzername“@„Host“ löschen;
Beispiel:
Benutzer „laowang“@„%“ löschen;

Syntax 2: Melden Sie sich als Root an und löschen Sie die Daten in der Benutzertabelle der MySQL-Datenbank

Löschen vom Benutzer, wobei Benutzer = "Benutzername" ist;
Beispiel:
Löschen vom Benutzer, wobei Benutzer = „laowang“ ist;

-- Nachdem der Vorgang abgeschlossen ist, müssen Sie die Berechtigungen löschen

Es wird empfohlen, zum Löschen von Benutzern Syntax 1 zu verwenden. Wenn das Löschen von Benutzern mit Syntax 1 fehlschlägt, verwenden Sie Syntax 2.

3. Was tun, wenn Sie das Passwort für das Root-Konto vergessen?

Normalerweise sind wir nicht an der Reihe, das Root-Konto zu verwalten, also seien Sie nicht so blind

Lösung zum Vergessen des MySQL-Root-Benutzerkennworts (Skip-Grant-Tables):

Skip-Grant-Tabellen
Wie der Name schon sagt, werden beim Starten der Datenbank die Einschränkungen der Berechtigungstabelle übersprungen und eine direkte Anmeldung ohne Überprüfung des Passwortes möglich.

Beachten:

Diese Situation kommt nur zum Einsatz, wenn Sie das Root-Passwort vergessen und die Datenbank neu starten müssen. In einer Live-Netzwerkumgebung ist Vorsicht bei der Verwendung geboten, da ein Neustart der Datenbank erforderlich ist und die Sicherheit kaum gewährleistet werden kann.

1. Konfigurationsparameter ändern

/etc/meine.cnf

existieren

[mysqld] Fügen Sie unten hinzu:

Skip-Grant-Tabellen
Konfigurationselemente.

2. MySQL neu starten

Machen Sie die Parameter wirksam:

Dienst MySQL Neustart

3. Hinweise

Derzeit können sich alle Benutzer ohne Kennwort bei der aktuellen Datenbank anmelden, daher ist die Sicherheit der Datenbank sehr gering.

4. Passwort ändern

Spezifische Methoden:

https://www.jb51.net/article/169143.htm

5. Parameter entfernen

a. Entfernen Sie nach der Änderung des Passworts skip-grant-tables aus der Konfigurationsdatei.

b. Starten Sie die Datenbank erneut.

Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „Zusammenfassung der allgemeinen MySQL-Funktionen“, „MySQL-Protokolloperationskenntnisse“, „Zusammenfassung der MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“ und „Zusammenfassung der MySQL-Datenbanksperrenkenntnisse“.

Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist.

Das könnte Sie auch interessieren:
  • Ausführliche Erläuterung der MySQL-Benutzerkontenverwaltung und Berechtigungsverwaltung
  • MySQL erstellt neue Benutzer, fügt zwei Konten hinzu und verwendet Beispiele
  • Details zur MySQL-Protokollverwaltung
  • MySQL-Verwaltung
  • Befehl zur Erteilung von Berechtigungen in der MySQL-Verwaltung zum Erstellen von Notizen
  • Detaillierte Erläuterung der MySQL-Benutzerrechteverwaltung
  • Zusammenfassung der grundlegenden Methoden zur Benutzer- und Berechtigungsverwaltung in MySQL
  • Zusammenfassung der täglichen Verwaltungsbefehle von mysqladmin unter MySQL (unbedingt lesen)
  • Implementierung eines Studierendenverwaltungssystems auf Basis von MySQL in Java
  • So verwalten Sie MySQL remote über mysqladmin

<<:  Nginx beschränkt den IP-Zugriff auf bestimmte Seiten

>>:  Detaillierte Erklärung des Unterschieds zwischen der v-model-Direktive und dem .sync-Modifikator in Vue

Artikel empfehlen

Beispiel zur Erläuterung der Größe einer MySQL-Statistiktabelle

Das Zählen der Größe jeder Tabelle in jeder Daten...

Einführung in die Installation und Konfiguration von JDK unter CentOS-Systemen

Inhaltsverzeichnis Vorwort Überprüfen und deinsta...

So konfigurieren Sie geplante MySQL-Aufgaben (EVENT-Ereignisse) im Detail

Inhaltsverzeichnis 1. Was ist eine Veranstaltung?...

3 Tipps, die Sie beim Erlernen von JavaScript kennen müssen

Inhaltsverzeichnis 1. Der magische Erweiterungsop...

Css3 realisiert nahtloses Scrollen und Anti-Shake

Frage Das nahtlose Scrollen von Bildern und Texte...

Detaillierte Erklärung der Rolle des Schlüssels in React

Inhaltsverzeichnis Frage: Wird die Farbe des Bere...

Drei Möglichkeiten zum Sperren und Entsperren von Benutzerkonten in Linux

Wenn in Ihrer Organisation bereits eine Kennwortr...

Detaillierte Erklärung zur Abfrage von Feldern im JSON-Format in MySQL

Während des Entwicklungsprozesses trat eine Anfor...