Mit CREATE USER legst du in MariaDB neue Accounts an. Wenn du ein neues User-Profil hin­zu­fü­gen möchtest, brauchst du dafür Ad­mi­nis­tra­tor-Rechte. Die Be­rech­ti­gun­gen für das jeweilige Konto de­fi­nierst du mit GRANT.

CREATE USER in MariaDB: So gehst du vor

Um ein neues Profil zu erstellen, nutzt du in MariaDB den Befehl CREATE USER. Hier zeigen wir dir, welche Schritte für diesen Vorgang notwendig sind.

Schritt 1: Ver­bin­dung zu MariaDB her­stel­len

Die Anlage der neuen Nutzer:innen erfolgt direkt in MariaDB. Um dich zu verbinden, öffne die MariaDB-Be­fehls­zei­le und melde dich mit deinem Usernamen und Passwort an. Achte darauf, dass der ver­wen­de­te Account über Admin-Rechte verfügt.

Schritt 2: CREATE USER nutzen

Verwende nun CREATE USER, um in MariaDB neue Nutzer:innen anzulegen. Die Syntax für diese Anweisung sieht so aus:

CREATE USER nutzername@hostname IDENTIFIED BY 'passwort';
sql

Ersetze den Platz­hal­ter „nut­zer­na­me“ durch deinen ge­wünsch­ten Namen. Dieser muss innerhalb der Ser­ver­um­ge­bung eindeutig sein. „hostname“ tauschst du gegen den ent­spre­chen­den Hostnamen oder die IP-Adresse deines Servers aus. Zum Schluss folgt ein sicheres Passwort für das Konto.

Schritt 3: Be­rech­ti­gun­gen de­fi­nie­ren

Im nächsten Schritt stattest du den neuen User mit den er­for­der­li­chen Rechten aus. Diese bestimmen, welche Aktionen auf dem System erlaubt sind. Details zu den Be­rech­ti­gun­gen findest du weiter unten. Für die Zuweisung nutzt du den Befehl GRANT mit folgender Syntax:

GRANT nutzerrechte ON datenbank.tabelle TO nutzername@hostname;
sql

Nach GRANT listest du alle Rechte auf, die das Konto erhalten soll, getrennt durch Kommata. „datenbank.tabelle“ bezieht sich entweder auf eine spe­zi­fi­sche Datenbank/Tabelle oder gilt mit *.* für das komplette System. Ersetze „nut­zer­na­me@hostname“ durch die Daten deines neuen Users.

Schritt 4: Rechte aktiv setzen

Damit die ver­ge­be­nen Be­rech­ti­gun­gen sofort wirksam werden, nutzt du die Anweisung FLUSH PRIVILEGES. Der Befehl lautet:

FLUSH PRIVILEGES;
sql

Schritt 5: Anmeldung testen

Nun können sich die neuen Nutzer:innen am MariaDB-Server anmelden. Dazu sind lediglich der Username und das Passwort nötig. Das Profil verfügt jetzt über die kon­fi­gu­rier­ten Rechte. Um ein Konto wieder zu entfernen, kannst du als Ad­mi­nis­tra­tor:in den Befehl DROP USER verwenden.

Rechte für Nutzer:innen vergeben

Die Nut­zer­rech­te (englisch „pri­vi­le­ges“) legen fest, welche Ope­ra­tio­nen mit einem MariaDB-Account möglich sind. Während Admin-Profile vollen Zugriff haben, solltest du die Rechte für andere Konten ein­schrän­ken, um die Si­cher­heit zu ge­währ­leis­ten. Das sind die wich­tigs­ten Be­rech­ti­gun­gen:

  • ALL: Verleiht alle Rechte mit Ausnahme von GRANT OPTION.
  • GRANT OPTION: Überträgt die Rechte deines eigenen Accounts.
  • SELECT: Erlaubt den Zugriff auf Da­ten­ban­ken oder Tabellen.
  • INSERT: Er­mög­licht das Hin­zu­fü­gen neuer Zeilen in Tabellen.
  • UPDATE: Erlaubt das Ak­tua­li­sie­ren be­stehen­der Zeilen.
  • DELETE: Gestattet das Löschen von Da­ten­sät­zen.
  • CREATE: Erlaubt das Anlegen neuer Tabellen oder Da­ten­ban­ken.
  • ALTER: Er­mög­licht Än­de­run­gen an der Ta­bel­len­struk­tur.
  • DROP: Erlaubt das Entfernen von Tabellen oder Da­ten­ban­ken.

Möchtest du Be­rech­ti­gun­gen später anpassen, nutze REVOKE. Einen Überblick über alle aktiven Rechte erhältst du mit dem Befehl SHOW GRANTS FOR.

OR REPLACE und IF NOT EXISTS

Falls du mit CREATE USER einen Account erstellen willst, dessen Name bereits existiert, gibt das System einen Fehler aus. Um das zu vermeiden, bietet MariaDB zwei Optionen: OR REPLACE und IF NOT EXISTS.

Die Syntax für OR REPLACE sieht so aus:

CREATE OR REPLACE USER nutzername@hostname IDENTIFIED BY 'passwort';
sql

Dies ist die Abkürzung für diesen Code-Block:

DROP USER IF EXISTS nutzername@hostname;
CREATE USER nutzername@hostname IDENTIFIED BY 'passwort';
sql

Hierbei prüft das System, ob der Name bereits vergeben ist. Falls ja, wird der be­stehen­de Account durch den neuen ersetzt. Existiert der Name noch nicht, wird er neu angelegt.

Die Syntax für IF NOT EXISTS lautet:

CREATE USER IF NOT EXISTS nutzername@hostname IDENTIFIED BY 'passwort';
sql

Auch hier findet eine Prüfung statt. Gibt es den Namen schon, erscheint lediglich eine Warnung und es wird nichts über­schrie­ben. Ist der Name frei, wird das Profil erstellt.

Zum Hauptmenü