Heim >Datenbank >MySQL-Tutorial >So erstellen Sie neue Berechtigungen und legen ein Passwort in MySQL fest
So legen Sie ein Passwort für neue Berechtigungen in MySQL fest: Erstellen Sie zunächst einen Benutzer mit dem Befehl CREATE USER. Anschließend autorisieren Sie ihn mit dem Befehl GRANT. Anschließend legen Sie das Benutzerpasswort mit dem Befehl SET PASSWORD fest. 🔜
Gastgeber: Geben Sie den Host an, auf dem sich der Benutzer anmelden kann. Wenn es sich um einen lokalen Benutzer handelt, kann localhost verwendet werden. Wenn Sie möchten, dass sich der Benutzer von einem beliebigen Remote-Host aus anmeldet, können Sie den Platzhalter %
password verwenden: Das Anmeldekennwort des Benutzers . Das Passwort kann leer sein. Wenn es leer ist, kann sich der Benutzer ohne Passwort am Server anmelden. Beispiel:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';Berechtigungen wie SELECT, INSERT, UPDATE usw., wenn Sie Berechtigungen erteilen möchten, verwenden Sie ALL
Datenbankname: Datenbankname Tabellenname: Tabellenname Wenn Sie dem Benutzer entsprechende Betriebsberechtigungen für alle Datenbanken und Tabellen erteilen möchten , Sie können * verwenden, um es anzuzeigen, z. B. *.*
Beispiel:
CREATE USER 'dog'@'localhost' IDENTIFIED BY '123456'; CREATE USER 'pig'@'192.168.1.101_' IDENDIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY '123456'; CREATE USER 'pig'@'%' IDENTIFIED BY ''; CREATE USER 'pig'@'%';
Hinweis:
Ein mit dem obigen Befehl autorisierter Benutzer kann keine anderen Benutzer autorisieren Folgender Befehl:
GRANT privileges ON databasename.tablename TO 'username'@'host'
3. Benutzerpasswort festlegen und ändern
Befehl:
GRANT SELECT, INSERT ON test.user TO 'pig'@'%'; GRANT ALL ON *.* TO 'pig'@'%'; GRANT ALL ON maindataplus.* TO 'pig'@'%';
Wenn Sie der aktuell angemeldete Benutzer sind:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;
Beispiel:
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
IV. Benutzerberechtigungen widerrufen
Befehl:
SET PASSWORD = PASSWORD("newpassword");
Beschreibung:
Berechtigung, Datenbankname, Tabellenname: das Gleiche wie der Autorisierungsteil
Beispiel:
SET PASSWORD FOR 'pig'@'%' = PASSWORD("123456");
Hinweis:
Wenn Sie angeben, dass Benutzer „pig“@„%“ autorisiert ist, sieht es so aus (oder ähnlich). ): GRANT SELECT ON test.user TO 'pig'@'%', dann REVOKE SELECT ON *.* FROM 'pig'@' verwenden. Der Befehl %' kann die SELECT-Operation des Benutzers für die Benutzertabelle in der Testdatenbank nicht rückgängig machen . Wenn die Autorisierung hingegen GRANT SELECT ON *.* TO 'pig'@'%'; verwendet, kann der Befehl REVOKE SELECT ON test.user FROM 'pig'@'%'; den Zugriff des Benutzers nicht widerrufen Benutzertabelle in der Testdatenbank.
Detaillierte Informationen können mit dem Befehl SHOW GRANTS FOR 'pig'@'%'; angezeigt werden. 5. Benutzer löschen Beim Anmelden bei MySQL habe ich festgestellt, dass ein Fehler gemeldet wird, selbst wenn das Kennwort korrekt ist. Schließlich habe ich festgestellt, dass ich mich direkt anmelden kann indem Sie „mysql -uweicheng“ verwenden, ohne ein Passwort einzugeben.
Später lautet der Grund für die Abfrage der Daten: Es sollten leere Benutzer in der Datenbank vorhanden sein. Wenn ja, verwenden Sie
REVOKE privilege ON databasename.tablename FROM 'username'@'host';
, um zu überprüfen, ob welche vorhanden sind, und verwenden Sie dann
REVOKE SELECT ON *.* FROM 'pig'@'%';
, um die überflüssigen leeren Konten zu löschen Verwenden Sie
DROP USER 'username'@'host';
, um die Berechtigungstabelle neu zu laden. Verwenden Sie abschließend
select * from mysql.user where user='';
, um den MySQL-Dienst neu zu starten, und das Problem ist gelöst.
Tipp:
1. Denken Sie unbedingt daran, den MySQL-Dienst neu zu starten, da er sonst nicht wirksam wird, da ich MSYQL nicht neu gestartet habe!
2. Die Benutzertabelle von msyql befindet sich in der Benutzertabelle in der MySQL-Datenbank. Die Hauptfelder sind Host, Benutzer, Passwort usw., die für die Verwaltung durch MySQL verwendet werden.
MySQL-Aktualisierungsberechtigungsbefehl: FLUSH PRIVILEGES; (wird im Allgemeinen verwendet, nachdem die Datenbankbenutzerinformationen aktualisiert wurden)
Es gibt eine andere Möglichkeit, nämlich den MySQL-Server neu zu starten
Das obige ist der detaillierte Inhalt vonSo erstellen Sie neue Berechtigungen und legen ein Passwort in MySQL fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!