.

MariaDB ist, neben MySQL, ein beliebtes, relationales, Open-Source Datenbankmanagementsystem. Der MariaDB Server ermöglicht es uns, zahlreiche Benutzerkonten anzulegen und entsprechende Privilegien zu vergeben. Damit die Benutzer auf Datenbanken zugreifen und diese verwalten und, oder abfragen können.

Inhalt

Zugriff auf den MariaDB Server
Datenbank anlegen
MariaDB Benutzer erstellen
Dem MariaDB Benutzer Privilegien geben

Voraussetzungen

- Installierter MariaDB Server
- Systemzugriff als root oder Benutzer mit sudo Privilegien.

Zugriff auf den MariaDB Server

Von der Linux Kommandozeile aus können wir uns in die Kommandozeile vom MariaDB Server einloggen. Dazu einfach den Befehl ‚mysql‘ ausführen und die passenden Optionen angeben. Wir benötigen ein oder zwei Optionen je nachdem wie euer MariaDB Server eingerichtet ist. Für die Angabe des Benutzername mit dem wir uns einloggen wollen nutzen wir die Option ‚-u <user>‘. Wurde nach der Installation, zum Beispiel beim Aufruf von ‚mysql_secure_installation‘, ein Passwort für den MariaDB root User vergeben benötigen wir dazu noch die Option ‚-p‘

mysql -u root -p
Login in die MariaDB Konsole

Datenbank anlegen

In der MariaDB Konsole kommt die SQL Syntax zum Einsatz. In der MariaDB Knowledge Base gibt es eine Sammlung aller SQL Befehle.

Für das anlegen einer neuen Datenbank benutzen wir:

CREATE DATABASE Datenbankname;

Mit einem eben so prägnanten Befehl lassen sich alle Vorhandenen Datenbanken anzeigen.

SHOW DATABASES;

Drei der vorhandenen Datenbanken nach einer Neuinstallation von MariaDB sind für den Betrieb des Datenbankserver notwendig. Dies sind ‚information_schema‘, ‚performance_schema‘ und ‚mysql‘. Die Datenbank ‚example‘ kann gelöscht werden. Wenn man sich diese nicht anschauen möchte um die Struktur und den Aufbau einer Datenbank kennen zu lernen.

Löschen kann man Datenbanken mit:

DROP TABLE Datenbankname;

MariaDB Benutzer erstellen

Wir erstellen einen neuen Benutzer und geben ihm sofort ein Passwort mit:

CREATE USER 'newUser'@localhost IDENTIFIED BY 'newPasswort';

Natürlich sollte hier ’newUser‘ und ’newPasswort‘ entsprechend angepasst werden.

Sich alle Benutzer auf dem Datenbankserver anzeigen lassen ist auch simpel. Indem wir sie aus der Tabelle ‚mysql.user‘ abrufen.

SELECT User FROM mysql.user;

Der Vollständigkeit halber hier auch noch kurz der Befehl mit dem wir einen Datenbank Benutzer wieder löschen können.

DROP USER 'newUser'@'localhost';

Dem MariaDB Benutzer Berechtigungen geben

Mit ‚CREATE USER‘ erstellte Benutzer haben anfangs gar keine Berechtigungen. Die Privilegien die einem Benutzer zu geteilt werden können sind sehr vielfältig. Daher beschränken ich mich hier auf ein paar Beispiele.

Wenn es mehrere Datenbank Administratoren gibt macht es Sinn für jeden Administrator ein eigenen Benutzer an zu legen. Allein schon wegen des Logs damit man später sehen kann wer, wann, was gemacht hat. Administratoren sollten alle Rechte auf die Datenbanken haben, für die sie zuständig sind, damit sie uneingeschränkt arbeiten können.

Die Syntax um Rechte zu vergeben sieht wie folgt aus:

GRANT <privileges> ON <object> TO <user>;

Um einem Administrator alle Rechte auf alle Datenbanken zu geben nutzen wir:

GRANT ALL PRIVILEGES ON *.* TO 'newUser'@localhost;

Um es diesem Benutzer auch zu ermöglichen Berechtigungen für andere Benutzer setzen zu können muss eine entsprechende Option hinzugefügt werden.

GRANT ALL PRIVILEGES ON . TO 'newUser'@localhost WITH GRANT OPTION;

Nach dem setzen von Berechtigungen müssen diese aufgefrischt bzw. aktiviert werden damit die Konfiguration zu tragen kommt.

FLUSH PRIVILEGES;

Um sich zu vergewissern das es geklappt hat oder um später nach zu schauen welche Privilegien ein Benutzer hat können wir uns diese anzeigen lassen.

SHOW GRANTS FOR 'newUser'@localhost;
Anzeige der User Privilegien eines Users von MariaDB

Wenn wir einem Benutzer nur Rechte für den Zugriff auf eine Datenbank geben wollen, wie zum Beispiel bei einer Datenbank für den Betrieb von WordPress und einem Benutzer mit dem sich WordPress bei der Datenbank anmelden kann, müssen wir nur das ‚*.*‘ mit dem Namen der gewünschten Datenbank ersetzen.

GRANT ALL PRIVILEGES ON 'Datenbankname'.* TO 'wordpressUser'@localhost;

Ein vollständige Beschreibung von den Möglichkeiten der Rechtevergabe findet ihr auf www.techonthenet.com (Englisch).


0 Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.