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.

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 support@nine.ch, 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.