MySQL-Benutzer und -Berechtigungen In MySQL gibt es eine Datenbank namens MySQL, die mit dem System geliefert wird. Nach der Installation der Datenbank verfügt das System über mehrere Datenbanken, und MySQL ist eine davon. Die MySQL-Datenbank verfügt über eine Tabelle mit den Berechtigungen für Benutzerkontos, die als Benutzertabelle bezeichnet wird und die erstellten Benutzer enthält. Der vollständige Benutzername in MySQL wird aus Benutzer + Hostname gebildet. Der Hostname bestimmt, auf welchem Host sich der Benutzer anmelden kann. 1. Benutzererstellung und Passwortänderung 1. Benutzererstellung Erstellen Sie den Benutzer „BENUTZERNAME“@„HOST“, identifiziert durch „PASSWORT“. BENUTZERNAME: Benutzername Beispiel: MariaDB [(keine)]> Benutzer [email protected] erstellen, identifiziert durch „centos“; Abfrage OK, 0 Zeilen betroffen (0,01 Sek.) MariaDB [(keine)]> wähle Benutzer, Host, Passwort aus mysql.user; +--------+-------------------------------------+------------------------------------------+ | Benutzer | Host | Passwort | +--------+-------------------------------------+------------------------------------------+ | root | lokaler Host | | | Stammverzeichnis | localhost.localdomain | | | Wurzel | 127.0.0.1 | | | Wurzel | ::1 | | | | lokaler Host | | | | lokaler Host.lokale Domäne | | | masuri | 192.168.73.133 | *128977E278358FF80A246B5046F51043A2B1FCED | +--------+-------------------------------------+------------------------------------------+ 7 Zeilen im Satz (0,00 Sek.) Es gibt anonyme Konten in MySQL, die durch Ausführen des Sicherheitshärtungsskripts mysql_secure_installation oder manuell gelöscht werden können. So löschen Sie einen Benutzer: DROP USER 'BENUTZERNAME'@'HOST'; Beispiel: MariaDB [(keine)]> wähle Benutzer, Host, Passwort aus mysql.user; +--------+-------------------------------------+------------------------------------------+ | Benutzer | Host | Passwort | +--------+-------------------------------------+------------------------------------------+ | root | lokaler Host | | | Stammverzeichnis | localhost.localdomain | | | Wurzel | 127.0.0.1 | | | Wurzel | ::1 | | | | lokaler Host | | | | lokaler Host.lokale Domäne | | | masuri | 192.168.73.133 | *128977E278358FF80A246B5046F51043A2B1FCED | +--------+-------------------------------------+------------------------------------------+ 7 Zeilen im Satz (0,00 Sek.) MariaDB [(keine)]> DROP USER ''@'localhost'; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) MariaDB [(keine)]> DROP USER ''@'localhost.localdomain'; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) MariaDB [(keine)]> wähle Benutzer, Host, Passwort aus mysql.user; +--------+-------------------------------------+------------------------------------------+ | Benutzer | Host | Passwort | +--------+-------------------------------------+------------------------------------------+ | root | lokaler Host | | | Stammverzeichnis | localhost.localdomain | | | Wurzel | 127.0.0.1 | | | Wurzel | ::1 | | | masuri | 192.168.73.133 | *128977E278358FF80A246B5046F51043A2B1FCED | +--------+-------------------------------------+------------------------------------------+ 5 Zeilen im Satz (0,00 Sek.) 2. Passwort ändern Ändern des MySQL-Passworts PASSWORT FESTLEGEN FÜR Benutzer = PASSWORT('Klartext-Passwort') UPDATE-Tabelle SET-Passwort = Passwort('Klartext-Passwort') Beispiel: Ändern Sie das Passwort für den Masuri-Benutzer MariaDB [(keine)]> PASSWORT FESTLEGEN FÜR [email protected] = PASSWORT ('magedu'); Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) MariaDB [(keine)]> wähle Benutzer, Host, Passwort aus mysql.user; +--------+-------------------------------------+-------------------------------------------+ | Benutzer | Host | Passwort | +--------+-------------------------------------+------------------------------------------+ | root | lokaler Host | | | Stammverzeichnis | localhost.localdomain | | | Wurzel | 127.0.0.1 | | | Wurzel | ::1 | | | masuri | 192.168.73.133 | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 | +--------+-------------------------------------+------------------------------------------+ #Das Passwort wurde zu diesem Zeitpunkt geändert Das Root-Kontokennwort ist leer. Legen Sie ein Kennwort für das Root-Kennwort fest. Da es zu mühsam ist, es einzeln festzulegen, können Sie das Kennwort auch mit der Operation „Tabelle ändern“ ändern. MariaDB [(keine)]> mysql.user aktualisieren, Passwort=Passwort('centos') festlegen, wobei Benutzer='root'; Abfrage OK, 4 Zeilen betroffen (0,01 Sek.) Übereinstimmende Zeilen: 4 Geändert: 4 Warnungen: 0 MariaDB [(keine)]> wähle Benutzer, Host, Passwort aus mysql.user; +--------+-------------------------------------+------------------------------------------+ | Benutzer | Host | Passwort | +--------+-------------------------------------+------------------------------------------+ | root | lokaler Host | *128977E278358FF80A246B5046F51043A2B1FCED | | Stamm | localhost.localdomain | *128977E278358FF80A246B5046F51043A2B1FCED | | root | 127.0.0.1 | *128977E278358FF80A246B5046F51043A2B1FCED | | Wurzel | ::1 | *128977E278358FF80A246B5046F51043A2B1FCED | | masuri | 192.168.73.133 | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 | +--------+-------------------------------------+------------------------------------------+ 5 Zeilen im Satz (0,00 Sek.) Zu diesem Zeitpunkt wurde das Passwort geändert, aber Sie können sich immer noch nicht anmelden. Sie müssen die Berechtigungen aktualisieren MariaDB [(keine)]> FLUSH-PRIVILEGIEN; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) 2. MySQL-Berechtigungsverwaltung Die Berechtigungsverwaltung umfasst mehrere Berechtigungskategorien, z. B. Verwaltungs-, Programm-, Datenbankebene, Tabellenebene und Feldebene. Verwaltung: ob Benutzer erstellt werden können, ob die Datenbankliste angezeigt werden kann, ob die Konfigurationsdatei neu geladen werden kann, ob die Datenbank geschlossen werden kann, ob Funktionen im Zusammenhang mit der Replikation ausgeführt werden können, ob Prozesse verwaltet werden können, ob temporäre Tabellen erstellt werden können und ob Dateien in der Datenbank erstellt werden können. Programme umfassen hauptsächlich drei Programmtypen: Funktionen, gespeicherte Prozeduren und Trigger. Sie können diese Programme beispielsweise erstellen, ändern, löschen und ausführen. Sie können Berechtigungen auch auf Bibliotheks-, Tabellen- und Feldebene verwenden: Sie können beispielsweise Vorgänge in Bibliotheken, Tabellen und Feldern hinzufügen, löschen, abfragen und ändern. 1. Autorisierung GRANT Wenn Sie einen Benutzer autorisieren und dieser noch nicht existiert, können Sie ihn erstellen. Vor der Autorisierung müssen Sie zunächst bestätigen, dass Sie ein Administrator mit Autorisierungsberechtigung sind. GEWÄHREN priv_type [(Spaltenliste)] [, priv_type [(Spaltenliste)]] … ON [Objekttyp] Privilegebene TO Benutzerspezifikation [, Benutzerspezifikation] ... [ERFORDERLICH {KEINE | ssl_option [[UND] ssl_option] ...}] [MIT mit_Option ...] Beispiel: Erstellen Sie einen WordPress-Benutzer und autorisieren Sie ihn. MariaDB [(keine)]> DATENBANK ERSTELLEN wordpress; Abfrage OK, 1 Zeile betroffen (0,02 Sek.) MariaDB [(keine)]> GRANT ALL ON wordpress.* TO wpuser@'192.168.73.%' identifiziert durch 'mylinuxops'; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) 2. Überprüfen Sie die Berechtigungen des Benutzers MariaDB [(keine)]> Berechtigungen für wpuser@'192.168.73.%' anzeigen; +----------------------------------------------------------------------------------------------------------------------------------+ | Zuschüsse für [email protected].% | +----------------------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* AN 'wpuser'@'192.168.73.%' IDENTIFIZIERT DURCH PASSWORT '*EC0DBFB480593BB6ED2EC028A4231A72D8137406' | | GEWÄHREN SIE 'wpuser'@'192.168.73.%' ALLE PRIVILEGIEN FÜR `wordpress`.* | +----------------------------------------------------------------------------------------------------------------------------------+ 2 Zeilen im Satz (0,00 Sek.) 3. Weitere Möglichkeiten der Autorisierung MAX_QUESRIES_PER_HOUR Anzahl #Maximale Anzahl von Abfragen pro Stunde MAX_UPDATES_PER_HOUR Anzahl #Maximale Anzahl von Änderungen pro Stunde MAX_CONNECTIONS_PER_HOUR Anzahl #Maximale Anzahl von Verbindungen pro Stunde MAX_USER_CONNECTIONS Anzahl #Maximale Anzahl von Benutzerverbindungen Berechtigungen widerrufen WIDERRUFEN priv_type [(Spaltenliste)] [, priv_type [(Spaltenliste)]] … ON [Objekttyp] Privilegebene VON Benutzer [, Benutzer] … Beispiel: MariaDB [(keine)]> Löschung auf wordpress.* von wpuser@'192.168.73.%' widerrufen; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) MariaDB [(keine)]> Berechtigungen für wpuser@'192.168.73.%' anzeigen; +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Zuschüsse für [email protected].% | +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT USAGE ON *.* AN 'wpuser'@'192.168.73.%' IDENTIFIZIERT DURCH PASSWORT '*EC0DBFB480593BB6ED2EC028A4231A72D8137406' | | GRANT SELECT, INSERT, UPDATE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `wordpress`.* TO 'wpuser'@'192.168.73.%' | +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 2 Zeilen im Satz (0,00 Sek.) # Zu diesem Zeitpunkt hat wpuser@'192.168.73.%' nicht mehr die Löschberechtigung MySQL-Root-Passwort knacken Manchmal kann es vorkommen, dass Sie Ihr Root-Passwort während der Arbeit verlieren. Sie können die folgenden Methoden verwenden, um Ihr Root-Passwort wiederherzustellen: Nachfolgend wird gezeigt, wie man das Root-Passwort knackt. 1. Anmeldung bei MySQL aufgrund unbekannten Passworts nicht möglich [root@localhost ~]# mysql FEHLER 1045 (28000): Zugriff für Benutzer „root“@„localhost“ verweigert (mit Passwort: NEIN) 2. Knacken 1. Ändern Sie die Konfigurationsdatei /etc/my.cnf und fügen Sie zwei Parameterzeilen hinzu skip_grant_tables: Überspringen Sie die Informationen zur Autorisierungstabelle. Nachdem diese Option wirksam geworden ist, müssen Sie MySQL nicht mehr mit einem Kennwort verwenden. Andere Remotebenutzer können sich jedoch auch ohne Kennwort anmelden, was gewisse Risiken birgt. skip_networking: Schalten Sie die Netzwerkfunktion aus. Wenn Sie nur die Option skip_grant_tables aktivieren, können sich andere Benutzer ohne Kennwort bei MySQL anmelden, was sehr gefährlich ist. Daher müssen Sie die Netzwerkfunktion ausschalten und nur lokalen Benutzern den Betrieb erlauben. [root@localhost ~]# vim /etc/my.cnf [mysqld] skip_networking=on #Netzwerkfunktion nicht aktivieren skip_grant_tables=on #Autorisierungstabelle überspringen [root@localhost ~]# service mysqld restart #Nachdem Sie die Standortdatei geändert haben, müssen Sie den Dienst neu starten. Neustart von mysqld (über systemctl): [ OK ] 2. Melden Sie sich bei MySQL an und ändern Sie das Passwort [root@localhost ~]# mysql #Sie können sich ohne Passwort anmelden. Willkommen beim MariaDB-Monitor. Befehle enden mit ; oder \g. Ihre MariaDB-Verbindungs-ID ist 11 Serverversion: 10.2.23-MariaDB-log Quellverteilung Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [(keine)]> UPDATE mysql.user SET password=PASSWORD('123456') where user='root'; #Ändern Sie das Root-Passwort. Abfrage OK, 4 Zeilen betroffen (0,01 Sek.) Übereinstimmende Zeilen: 4 Geändert: 4 Warnungen: 0 3. Nachdem das Passwort geändert wurde, muss die Konfigurationsdatei wiederhergestellt werden Deregistrieren oder löschen Sie die beiden soeben aktivierten Optionen und starten Sie den Dienst anschließend neu. [root@localhost ~]# vim /etc/my.cnf [mysqld] #skip_networking=on #skip_grant_tables=ein [root@localhost ~]# service mysqld restart Neustart von mysqld (über systemctl): [ OK ] 4. Melden Sie sich mit dem neuen Passwort bei MySQL an [root@localhost ~]# mysql -uroot -p123456 Willkommen beim MariaDB-Monitor. Befehle enden mit ; oder \g. Ihre MariaDB-Verbindungs-ID ist 10 Serverversion: 10.2.23-MariaDB-log Quellverteilung Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab und andere. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. MariaDB [(keine)]> Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung der Requisiten und Kontextparameter der SetUp-Funktion in Vue3
>>: Alibaba Cloud Ubuntu 16.04 baut IPSec-Dienst auf
Inhaltsverzeichnis Umfang Globaler Umfang Funktio...
Inhaltsverzeichnis 1. Verbindungsmanagement 2. Ve...
Inhaltsverzeichnis 1. Einführung in die PID-Datei...
Inhaltsverzeichnis erster Schritt Schritt 2 Schri...
Inhaltsverzeichnis 1. Zahlen in JavaScript 2. Mat...
Um zu verstehen, was das bedeutet, müssen wir zunä...
MySQL ist ein relationales Datenbankverwaltungssy...
Vorwort Die Benutzeroberfläche von Deepin sieht w...
Docker: Zookeeper schnell installieren Ich habe Z...
Inhaltsverzeichnis 1. Regel 1: Objekt.Methode() 1...
Tomcat greift auf das Projekt zu, normalerweise I...
student.xml <?xml version="1.0" enco...
In diesem Artikel wird das Deep-Learning-Framewor...
Entsprechend den wichtigsten Websites und persönl...
1》Seien Sie gut im Webdesign 2》Wissen, wie man Web...