Heim > Datenbank > MySQL-Tutorial > Wie gewährt man umfassende Datenbankrechte in MySQL richtig, um CREATE-Tabellenfehler zu vermeiden?

Wie gewährt man umfassende Datenbankrechte in MySQL richtig, um CREATE-Tabellenfehler zu vermeiden?

Patricia Arquette
Freigeben: 2024-12-27 10:20:13
Original
555 Leute haben es durchsucht

How to Properly Grant Comprehensive Database Privileges in MySQL to Avoid CREATE Table Errors?

Umfassende Datenbankrechte in MySQL gewähren

Beim Erstellen einer Datenbank und dem Zuweisen von Benutzerrechten muss unbedingt sichergestellt werden, dass der Benutzer über ausreichende Rechte verfügt Führen Sie notwendige Vorgänge innerhalb der Datenbank durch. Es kann jedoch zu Problemen kommen, wie zum Beispiel, dass trotz der Erteilung scheinbar umfassender Berechtigungen keine Tabellen erstellt werden können.

Problembeschreibung:

Eine Datenbank mit dem Namen „mydb“ wurde erstellt und Einem Benutzer namens „myuser“ wurden die folgenden Berechtigungen zugewiesen:

GRANT ALL ON mydb.* TO 'myuser'@'%';
GRANT ALL ON mydb TO 'myuser'@'%';
GRANT CREATE ON mydb TO 'myuser'@'%';
Nach dem Login kopieren

Wenn der Benutzer jedoch versucht, eine Tabelle zu erstellen, stößt er auf eine Fehlermeldung mit folgendem Inhalt:

CREATE TABLE t (c CHAR(20) CHARACTER SET utf8 COLLATE utf8_bin);
ERROR 1142 (42000): CREATE command denied to user 'myuser'@'...' for table 't'
Nach dem Login kopieren

Lösung:

Um dem Benutzer „myuser“ alle erforderlichen Berechtigungen für die Datenbank „mydb“ und zukünftige Tabellen zu gewähren, verwenden Sie den folgenden Befehl sollte ausgeführt werden:

GRANT ALL PRIVILEGES
ON mydb.*
TO 'myuser'@'%'
WITH GRANT OPTION;
Nach dem Login kopieren

Dieser Befehl gewährt „myuser“ alle Berechtigungen für die „mydb“-Datenbank, einschließlich der Fähigkeit zum Erstellen, Tabellen ändern und löschen. Mit der WITH GRANT OPTION-Klausel kann der Benutzer diese Berechtigungen auf andere Benutzer übertragen.

Wichtiger Hinweis:

Obwohl diese Lösung das Zugriffsproblem effektiv löst, ist es wichtig, dies zu berücksichtigen die Sicherheitsauswirkungen der Gewährung von WITH GRANT OPTION-Berechtigungen. Mit dieser Berechtigung kann der Benutzer die Berechtigungen anderer Benutzer ändern. Aus Sicherheitsgründen wird empfohlen, dedizierte Benutzerkonten mit nur den erforderlichen Datenbankberechtigungen für bestimmte Aufgaben zu verwenden.

Das obige ist der detaillierte Inhalt vonWie gewährt man umfassende Datenbankrechte in MySQL richtig, um CREATE-Tabellenfehler zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage