Der Befehl GRANT ALL PRIVILEGES in MariaDB vergibt sämtliche Be­nut­zer­rech­te auf eine Datenbank. So können Nut­ze­rin­nen und Nutzer ohne Ein­schrän­kun­gen Tabellen erstellen, ändern und löschen.

Was ist MariaDB GRANT ALL PRIVILEGES?

Der Befehl GRANT ALL PRIVILEGES in MariaDB stattet eine Be­nut­ze­rin oder einen Benutzer mit um­fas­sen­den Zu­griffs­rech­ten auf eine oder mehrere Da­ten­ban­ken aus. Er räumt alle ver­füg­ba­ren Be­rech­ti­gun­gen ein, darunter das Anlegen, Verändern und Löschen von Tabellen sowie den Zugriff auf ad­mi­nis­tra­ti­ve Funk­tio­nen. Mit dem gezielten Einsatz von GRANT ALL PRIVILEGES steuern Sie die Zu­griffs­rech­te innerhalb Ihrer Da­ten­bank­um­ge­bung.

Um GRANT ALL PRIVILEGES in MariaDB anwenden zu können, benötigen Sie er­wei­ter­te Sys­tem­rech­te. Dazu gehören in der Regel das SUPER-Privileg oder die Be­rech­ti­gung zur Vergabe von Rechten (GRANT OPTION). Melden Sie sich mit einem ad­mi­nis­tra­ti­ven Be­nut­zer­kon­to an und stellen Sie sicher, dass eine stabile Ver­bin­dung zur richtigen Da­ten­bank­in­stanz besteht. Achten Sie darauf, Be­nut­zer­na­me und Host­prä­fix genau zu de­fi­nie­ren, um un­be­ab­sich­tig­te Rech­te­zu­wei­sun­gen zu vermeiden. Auch sollten Sie prüfen, ob die Ziel­da­ten­bank bereits existiert, da sich der Befehl nur auf vor­han­de­ne Da­ten­ban­ken beziehen kann.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kos­ten­güns­ti­ge vCPUs und leis­tungs­star­ke de­di­zier­te Cores
  • Höchste Fle­xi­bi­li­tät ohne Min­dest­ver­trags­lauf­zeit
  • Inklusive 24/7 Experten-Support

Syntax des MariaDB GRANT ALL PRI­VI­LE­GES-Befehls

Die Grund­struk­tur, um alle Rechte auf eine Datenbank zu vergeben, sieht in MariaDB fol­gen­der­ma­ßen aus:

GRANT ALL PRIVILEGES ON database.* TO 'username'@'host';
sql

Der Ausdruck GRANT ALL PRIVILEGES in MariaDB erteilt der an­ge­ge­be­nen Be­nut­ze­rin oder dem Benutzer voll­stän­di­ge Be­rech­ti­gun­gen auf die aus­ge­wähl­te Datenbank. Durch die Angabe von 'username'@host bestimmen Sie, welchem User und von welchem Host der Zugriff erlaubt ist. Optional können Sie gleich­zei­tig ein Passwort setzen, um die Be­nut­ze­rin oder den Benutzer zu au­then­ti­fi­zie­ren.

Nachdem Sie den Befehl aus­ge­führt haben, zeigen die Än­de­run­gen erst Wirkung, wenn Sie die Be­rech­ti­gun­gen neu laden:

FLUSH PRIVILEGES;
sql

Dies sorgt dafür, dass die ver­ge­be­nen Rechte sofort aktiv sind und korrekt im System ge­spei­chert werden.

Schritt-für-Schritt-Anleitung: Benutzer anlegen und mit Rechten aus­stat­ten

Wenn Sie ein neues Be­nut­zer­kon­to in MariaDB anlegen und diesem Konto um­fas­sen­de Rechte erteilen möchten, gehen Sie wie folgt vor:

Schritt 1: Benutzer erstellen

Zunächst legen Sie einen neuen User mit einem sicheren Passwort an. Verwenden Sie dafür den Befehl:

CREATE USER 'newuser'@localhost IDENTIFIED BY 'strongpassword';
sql

Mit dem Befehl MariaDB CREATE USER erstellen Sie einen neuen User und weisen diesem ein Passwort zu. Ersetzen Sie newuser durch den ge­wünsch­ten Be­nut­zer­na­men und strongpassword durch ein in­di­vi­du­el­les, sicheres Passwort. Die Angabe localhost be­schränkt den Zugriff auf Ver­bin­dun­gen vom lokalen Server. Möchten Sie den Zugriff von einem anderen Host erlauben, ersetzen Sie localhost durch die IP-Adresse oder den Hostnamen des ge­wünsch­ten Servers.

Schritt 2: Alle Rechte auf eine Datenbank vergeben

MariaDB GRANT ALL PRIVILEGES verleiht Be­nut­ze­rin­nen und Benutzern sämtliche ver­füg­ba­ren Pri­vi­le­gi­en auf alle Tabellen der Datenbank database_name. Der Platz­hal­ter * steht dabei für jede Tabelle innerhalb der an­ge­ge­be­nen Datenbank.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost;
sql

Schritt 3: Rech­te­wei­ter­ga­be erlauben (GRANT OPTION)

Durch die Ergänzung WITH GRANT OPTION erhält der User das Recht, die er­hal­te­nen Pri­vi­le­gi­en selbst an andere Be­nut­ze­rin­nen und Benutzer wei­ter­zu­ge­ben.

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@localhost WITH GRANT OPTION;
sql

Schritt 4: Einzelne Rechte auf eine Datenbank oder eine Tabelle vergeben

Sie können auch gezielt bestimmte Be­rech­ti­gun­gen auf eine komplette Datenbank oder auf einzelne Tabellen vergeben. Um bei­spiels­wei­se nur Le­se­zu­griff auf alle Tabellen einer Datenbank zu erlauben, nutzen Sie:

GRANT SELECT ON database_name.* TO 'newuser'@localhost;
sql

In diesem Beispiel erhält 'newuser' das Recht, alle Daten in der Datenbank database_name zu lesen, jedoch keine Än­de­run­gen vor­zu­neh­men. Durch die Ver­wen­dung von * nach dem Da­ten­bank­na­men beziehen sich die Rechte auf alle Tabellen dieser Datenbank.

Möchten Sie hingegen Rechte nur auf eine spezielle Tabelle vergeben, passen Sie die Syntax fol­gen­der­ma­ßen an:

GRANT SELECT ON database_name.table_name TO 'newuser'@localhost;
sql

Dadurch kann 'newuser' Daten aus der Tabelle table_name innerhalb der Datenbank database_name lesen. So kon­trol­lie­ren Sie sehr genau, welche Aktionen die Be­nut­ze­rin oder der Benutzer ausführen darf.

Schritt 5: Än­de­run­gen anwenden

Die Rechte sollten au­to­ma­tisch ak­tua­li­siert werden und ab sofort gelten. Al­ter­na­tiv können Sie ab­schlie­ßend den nach­fol­gen­den Befehl ausführen, damit alle ver­ge­be­nen Rechte wirksam werden:

FLUSH PRIVILEGES;
sql

Schritt 6: Vergebene Rechte anzeigen

Um alle aktuell ver­ge­be­nen Rechte eines Be­nut­zer­kon­tos zu über­prü­fen, geben Sie folgenden Befehl ein:

SHOW GRANTS FOR 'newuser'@localhost;
sql

Dieser Befehl listet alle Be­rech­ti­gun­gen auf, die newuser für die MariaDB-Instanz besitzt. Sie sehen dabei nicht nur all­ge­mei­ne Rechte auf Da­ten­ban­ken oder Tabellen, sondern auch spezielle Pri­vi­le­gi­en wie das Recht, eigene Be­rech­ti­gun­gen wei­ter­zu­ge­ben (WITH GRANT OPTION).

Managed Database Services
Da­ten­ban­ken – Auf´s We­sent­li­che kon­zen­trie­ren
  • IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
  • Flexibel: Maß­ge­schnei­der­te Datenbank-Lösungen ganz auf Ihre Be­dürf­nis­se
  • Re­chen­zen­tren in Deutsch­land: Ihre Daten sind sicher
Zum Hauptmenü