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.