Zum Hauptinhalt springen

nine-manage-databases

Nine bietet ein CLI-Tool für die Verwaltung von Datenbanken an. nine-manage-databases wird über SSH bedient. Aktuell können MySQL / MariaDB- und PostgreSQL-Datenbanken verwaltet werden.

Veraltete PostgreSQL-Passwortverschlüsselung

In den neueren PostgreSQL-Versionen hat sich die standardmässige Passwortverschlüsselungsmethode von md5 zu scram-sha-256 geändert. Beide Methoden werden weiterhin unterstützt, aber alle neuen Passwörter werden nun mit scram-sha-256 verschlüsselt. Um ein hohes Sicherheitslevel zu gewährleisten, sollten Passwörter bei Gelegenheit aktualisiert werden, zum Beispiel bei der Einführung einer neuen Hauptversion Ihrer Software.

Hilfe

Der folgende Befehl listet alle verfügbaren Befehle auf:

$ sudo nine-manage-databases -h

Datenbankverwaltung

Mit nine-manage-databases werden Datenbanken aufgelistet, erstellt und gelöscht.

Auswahl des Datenbanktyps (DBMS)

Wenn mehrere Datenbanktypen installiert sind, muss das gewünschte DBMS mit der Option --database-type (oder -t) ausgewählt werden.

Verfügbare DBMS:

  • mysql (MySQL / MariaDB)
  • postgresql (PostgreSQL)
$ sudo nine-manage-databases --database-type=postgresql database list

Dieser Befehl listet beispielsweise alle PostgreSQL Datenbanken auf, die mit nine-manage-databases erstellt wurden.

Da in den meisten Fällen lediglich ein DBMS zur Verfügung steht, ist dieser Zusatz meist nicht erforderlich.

Datenbanken auflisten

Der folgende Befehl listet alle erstellten Datenbanken auf:

$ sudo nine-manage-databases database list

Datenbank erstellen

$ sudo nine-manage-databases database create --user=nmd_user1 nmd_database1

Dieser Befehl erstellt eine Datenbank mit dem Namen nmd_database1. Das Präfix nmd_ wird verwendet, um die durch Nine von den durch nine-manage-databases erstellten Datenbanken voneinander zu unterscheiden.

Zusätzlich wird im obigen Beispiel automatisch der Benutzer nmd_user1 erstellt, welcher Lese- und Schreibzugriff auf die Datenbank erhält.

Das Kennwort für den Benutzer wird generiert und in der Ausgabe des Befehls angezeigt. Falls gewünscht kann das Passwort mit Angabe der Option -p gesetzt werden.

Falls für einen bestehenden Benutzer eine neue Datenbank angelegt werden soll, kann die Option --database-only hierfür genutzt werden.

Datenbank löschen

$ sudo nine-manage-databases database drop nmd_database1

Dieser Befehl löscht die Datenbank nmd_database1. Vor der Löschung ist zur Sicherheit noch eine Bestätigung erforderlich. Die Bestätigung kann mit der Option --force übersprungen werden. Dadurch wird die Datenbank ohne Rückfrage sofort gelöscht.

Dieser Befehl löscht auch alle Benutzer dieser Datenbank.

Datenbank-Benutzer

Benutzer auflisten

$ sudo nine-manage-databases user list --database=nmd_database1

Dieser Befehl listet alle Benutzer der Datenbank nmd_database1 auf. Ohne Angabe der Datenbank werden alle Benutzer angezeigt.

Benutzer erstellen

$ sudo nine-manage-databases user create --database=nmd_database1 --read-only -p nmd_user2

Es können beliebig viele Benutzer für eine Datenbank erstellt werden. Der oben stehende Befehl erstellt den Benutzer nmd_user2, zu dem das Passwort interaktiv abgefragt wird.

Wird die Option -p weggelassen, wird automatisch ein Passwort generiert und ausgegeben.

In diesem Beispiel hat der Benutzer nur Lesezugriff (Option --read-only).Ohne diese Option werden Benutzer standardmässig mit Lese- und Schreibzugriff auf die Datenbank erstellt.

Datenbankzugriff für Benutzer gewähren

⚠️ Bitte beachten Sie, dass die Befehle user grant_rights und user revoke_rights nur für den DBMS Typ 'mysql' verfügbar sind. Um den Datenbankzugriff für Benutzer mit dem DBMS Typ 'postgresql' verwalten zu können, wenden Sie sich bitte an , um Zugang zu einem Admin-Benutzer für diesen Zweck zu erhalten.

Einem Benutzer kann auf mehrere Datenbanken der Zugriff gewährt werden.

$ sudo nine-manage-databases user grant_rights nmd_user2 --database=nmd_database2 --read-only

nmd_user2 Benutzer hat nun Lesezugriff Zugriff auf die Datenbank nmd_database2.

Um dieses Recht zu widerrufen, verwenden Sie den Befehl user revoke_rights:

$ sudo nine-manage-databases user revoke_rights nmd_user2 --database=nmd_database2

Passwort ändern

$ sudo nine-manage-databases user update nmd_user1 update -p

Dieser Befehl ändert das Kennwort des Benutzers nmd_user1. Mit -p wird das Passwort interaktiv abgefragt.

Benutzer löschen

$ sudo nine-manage-databases user drop nmd_user1

Dieser Befehl löscht den Benutzer nmd_user1.