Erste Schritte mit Datenbanken im Windows-Subsystem für Linux

Diese ausführliche Anleitung hilft Ihnen bei den ersten Schritten beim Verbinden Ihres Projekts in WSL mit einer Datenbank. Führen Sie erste Schritte mit MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server oder SQLite aus.

Voraussetzungen

Unterschiede zwischen Datenbanksystemen

Zu den beliebtesten Optionen für ein Datenbanksystem gehören:

MySQL ist eine relationale Open-Source-SQL-Datenbank, die Daten in Tabellen organisiert, in denen Datentypen miteinander in Beziehung stehen können. Die Datenbank ist vertikal skalierbar. Das bedeutet, dass ein Ultimate-Computer die Arbeit für Sie übernimmt. Dies ist derzeit das am häufigsten verwendete der vier Datenbanksysteme.

Bei PostgreSQL (manchmal auch als Postgres bezeichnet) handelt es sich ebenfalls um eine relationale Open-Source-SQL-Datenbank mit dem Schwerpunkt auf Erweiterbarkeit und Einhaltung von Standards. Sie kann jetzt auch JSON verarbeiten, ist jedoch im Allgemeinen besser für strukturierte Daten, vertikale Skalierung und ACID-kompatible Anforderungen wie eCommerce und Finanztransaktionen geeignet.

Microsoft SQL Server umfasst SQL Server unter Windows, SQL Server unter Linux und SQL in Azure. Dabei handelt es sich ebenfalls um Verwaltungssysteme für relationale Datenbanken, die auf Servern eingerichtet sind und als primär zum Speichern und Abrufen von Daten fungieren, die von Softwareanwendungen angefordert werden.

SQLite ist eine eigenständige, dateibasierte, „serverlose“ Open-Source-Datenbank, die für ihre Portabilität, Zuverlässigkeit und gute Leistung auch in Umgebungen mit wenig Arbeitsspeicher bekannt ist.

MongoDB ist eine Open-Source-NoSQL-Dokumentdatenbank, die für die Arbeit mit JSON und das Speichern schemafreier Daten konzipiert ist. Die Datenbank ist horizontal skalierbar, was bedeutet, dass mehrere kleinere Computer die Arbeit für Sie erledigen. Sie eignet sich gut für unstrukturierte Daten und das Zwischenspeichern von Echtzeitanalysen und bietet Flexibilität.

Bei Redis handelt es sich um einen NoSQL-In-Memory-Datenstrukturspeicher auf Open-Source-Basis. Anstelle von Dokumenten werden Schlüssel-Wert-Paare für die Speicherung verwendet.

Installieren von MySQL

Um MySQL auf einer Linux-Verteilung zu installieren, die auf WSL ausgeführt wird, folgen Sie einfach den Anweisungen zur Installation von MySQL unter Linux in den MySQL-Dokumentationen. Möglicherweise müssen Sie zuerst die Aktivierung von systemd-Support in Ihrer wsl.conf Konfigurationsdatei vornehmen.

Beispiel für die Ubuntu-Verteilung:

  1. Öffnen Sie Ihre Ubuntu-Befehlszeile, und aktualisieren Sie die verfügbaren Pakete: sudo apt update
  2. Nachdem die Pakete aktualisiert wurden, installieren Sie MySQL wie folgt: sudo apt install mysql-server.
  3. Bestätigen Sie die Installation, und rufen Sie die Versionsnummer ab: mysql --version.
  4. MySQL Server starten / Status überprüfen: systemctl status mysql
  5. Geben Sie Folgendes ein, um die MySQL-Eingabeaufforderung zu öffnen: sudo mysql.
  6. Geben Sie in der MySQL-Eingabeaufforderung Folgendes ein, um die verfügbaren Datenbanken anzuzeigen: SHOW DATABASES;.
  7. Geben Sie zum Erstellen einer neuen Datenbank Folgendes ein: CREATE DATABASE database_name;.
  8. Geben Sie zum Löschen einer Datenbank Folgendes ein: DROP DATABASE database_name;.

Weitere Informationen zum Arbeiten mit MySQL-Datenbanken finden Sie in der MySQL-Dokumentation.

Um mit MySQL-Datenbanken in VS Code zu arbeiten, probieren Sie die MySQL-Erweiterung aus.

Sie sollten ggf. auch das enthaltene Sicherheitsskript ausführen. Dadurch werden einige der weniger sicheren Standardoptionen etwa für Remotestammanmeldungen und Beispielbenutzer*innen geändert. Dieses Skript enthält auch Schritte zum Ändern des Kennworts für den MySQL-Stammbenutzer. So führen Sie das Sicherheitsskript aus

  1. Starten Sie einen MySQL-Server: sudo service mysql start.
  2. Starten Sie die Sicherheitsskriptaufforderungen: sudo mysql_secure_installation.
  3. In der ersten Eingabeaufforderung wird gefragt, ob Sie die KOMPONENTE ZUM ÜBERPRÜFEN DES KENNWORTS einrichten möchten. Diese Komponente kann verwendet werden, um die Sicherheit Ihres MySQL-Kennworts zu testen. Wenn Sie ein einfaches Kennwort festlegen möchten, sollten Sie diese Komponente nicht festlegen.
  4. Anschließend legen Sie das Kennwort für den MySQL-Stammbenutzer fest/ändern, entscheiden, ob anonyme Benutzer entfernt werden sollen, entscheiden, ob der Stammbenutzer sich lokal und remote anmelden darf, ob die Testdatenbank entfernt werden soll, und schließlich entscheiden, ob die Berechtigungstabellen sofort neu geladen werden sollen.

Installieren von PostgreSQL

So installieren Sie PostgreSQL unter WSL (d. h. Ubuntu)

  1. Öffnen Sie das WSL-Terminal (d. h. Ubuntu).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update.
  3. Nachdem die Pakete aktualisiert wurden, installieren Sie PostgreSQL (und das -contrib-Paket mit einigen nützlichen Dienstprogrammen) mit: sudo apt install postgresql postgresql-contrib.
  4. Bestätigen Sie die Installation, und rufen Sie die Versionsnummer ab: psql --version.

Es gibt drei Befehle, die Sie nach der Installation von PostgreSQL kennen müssen:

  • sudo service postgresql status zum Überprüfen des Status Ihrer Datenbank.
  • sudo service postgresql start, um die Ausführung der Datenbank zu starten.
  • sudo service postgresql stop, um die Ausführung der Datenbank zu stoppen.

Der standardmäßige Administratorbenutzer (postgres) benötigt ein zugewiesenes Kennwort, um eine Verbindung mit einer Datenbank herzustellen. So legen Sie ein Kennwort fest:

  1. Geben Sie den Befehl sudo passwd postgres ein.
  2. Sie erhalten eine Aufforderung, Ihr neues Kennwort einzugeben.
  3. Schließen Sie das Terminal, und öffnen Sie es erneut.

So führen Sie PostgreSQL mit der psql-Shell aus

  1. Starten Ihres Postgres-Diensts: sudo service postgresql start.
  2. Verbinden Sie sich mit dem Postgres-Dienst, und öffnen Sie die psql-Shell: sudo -u postgres psql.

Nachdem Sie die psql-Shell erfolgreich eingegeben haben, sehen Sie, dass die Befehlszeile sich wie folgt ändert: postgres=#.

Hinweis

Alternativ dazu können Sie die psql-Shell öffnen, indem Sie mit su - postgres zum Postgres-Benutzer wechseln und dann den folgenden Befehl eingeben: psql.

Geben Sie zum Beenden von „postgres=#“ \q ein, oder verwenden Sie diese Tastenkombination: STRG+D.

Um anzuzeigen, welche Benutzerkonten in Ihrer PostgreSQL-Installation erstellt wurden, geben Sie psql --command="\du" in Ihr WSL-Terminal ein, oder einfach \du, wenn die psql-Shell geöffnet ist. Mit diesem Befehl werden die folgenden Spalten angezeigt: Kontobenutzername, Liste der Rollenattribute und Mitglied der Rollengruppe(n). Um zur Befehlszeile zurückzukehren, geben Sie q ein.

Weitere Informationen zum Arbeiten mit PostgreSQL-Datenbanken finden Sie in der PostgreSQL-Dokumentation.

Um mit PostgreSQL-Datenbanken in VS Code zu arbeiten, probieren Sie die PostgreSQL-Erweiterung aus.

Installieren von MongoDB

Informationen zum Installieren von MongoDB finden Sie in den Mongodb-Dokumenten: MongoDB Community Edition auf Linux installieren

Für die Installation von MongoDB sind je nach Linux-Distribution, die für die Installation verwendet wird, möglicherweise etwas unterschiedliche Schritte erforderlich. Beachten Sie auch, dass sich die MongoDB-Installation je nach Versionsnummer unterscheiden kann, die Sie installieren möchten. Verwenden Sie die Dropdownliste „Version“ in der oberen linken Ecke der MongoDB-Dokumentation, um die Version auszuwählen, die ihrem Ziel entspricht. Schließlich müssen Sie möglicherweise eine Aktivierung der systemd-Unterstützung in der wsl.conf Konfigurationsdatei der Linux-Verteilung, die Sie mit WSL verwenden, vornehmen. Der systemctl-Befehl ist Teil des systemd init-Systems und funktioniert möglicherweise nicht, wenn Ihre Verteilung systemv verwendet.

VS Code unterstützt die Arbeit mit MongoDB-Datenbanken über die Azure Cosmos DB-Erweiterung. Sie können MongoDB-Datenbanken in VS Code erstellen, verwalten und abfragen. Weitere Informationen finden Sie in der Dokumentation zu VS Code: Arbeiten mit MongoDB.

Weitere Informationen finden Sie in der MongoDB-Dokumentation:

Installieren Sie Microsoft SQL Server

So installieren Sie SQL Server auf einer Linux-Verteilung, die von WSL ausgeführt wird: SQL Server unter Linux. Um mit Microsoft SQL Server-Datenbanken in VS Code zu arbeiten, probieren Sie die MSSQL-Erweiterung aus.

Installieren von SQLite

So installieren Sie SQLite in WSL (d. h. Ubuntu)

  1. Öffnen Sie das WSL-Terminal (d. h. Ubuntu).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update.
  3. Nachdem die Pakete aktualisiert wurden, installieren Sie SQLite3 wie folgt: sudo apt install sqlite3.
  4. Bestätigen Sie die Installation, und rufen Sie die Versionsnummer ab: sqlite3 --version.

Geben Sie Folgendes ein, um eine Testdatenbank namens „example.db“ zu erstellen: sqlite3 example.db.

Geben Sie Folgendes ein, um eine Liste Ihrer SQLite-Datenbanken anzuzeigen: .databases.

Geben Sie Folgendes ein, um den Status Ihrer Datenbank anzuzeigen: .dbinfo ?DB?.

Die Datenbank ist nach der Erstellung leer. Sie können mit CREATE TABLE empty (kol INTEGER); eine neue Tabelle für Ihre Datenbank erstellen.

Wenn Sie nun .dbinfo ?DB? eingeben, wird die Datenbank angezeigt, die Sie erstellt haben.

Geben Sie Folgendes ein, um die SQLite-Eingabeaufforderung zu beenden: .exit.

Weitere Informationen zum Arbeiten mit einer SQLite-Datenbank finden Sie in der SQLite-Dokumentation.

Um mit SQLite-Datenbanken in VS Code zu arbeiten, probieren Sie die SQLite-Erweiterung aus.

Installieren von Redis

So installieren Sie Redis in WSL (d. h. Ubuntu)

  1. Öffnen Sie das WSL-Terminal (d. h. Ubuntu).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update.
  3. Nachdem die Pakete aktualisiert wurden, installieren Sie Redis wie folgt: sudo apt install redis-server.
  4. Bestätigen Sie die Installation, und rufen Sie die Versionsnummer ab: redis-server --version.

Verwenden Sie zum Starten der Ausführung Ihres Redis-Servers Folgendes: sudo service redis-server start.

Überprüfen Sie, ob Redis funktioniert (redis-cli ist das Befehlszeilenschnittstellen-Hilfsprogramm für die Kommunikation mit Redis): redis-cli ping. Dadurch sollte die Antwort „PONG“ zurückgegeben werden.

Verwenden Sie zum Beenden der Ausführung Ihres Redis-Servers Folgendes: sudo service redis-server stop.

Weitere Informationen zum Arbeiten mit einer Redis-Datenbank finden Sie in der Redis-Dokumentation.

Um mit Redis-Datenbanken in VS Code zu arbeiten, probieren Sie die Redis-Erweiterung aus.

Anzeigen der ausgeführten Dienste und Einrichten von Profilaliasen

Geben Sie Folgendes ein, um die Dienste anzuzeigen, die derzeit in Ihrer WSL-Distribution ausgeführt werden: service --status-all.

Das Eingeben von sudo service mongodb start oder sudo service postgres start und sudo -u postgrest psql kann mühsam werden. Sie können jedoch in Betracht ziehen, Aliase in Ihrer Datei .profile unter WSL einzurichten, um diese Befehle einfacher verwenden zu können und sie sich besser zu merken.

So richten Sie einen eigenen benutzerdefinierten Alias oder eine Verknüpfung für die Ausführung dieser Befehle ein

  1. Öffnen Sie das WSL-Terminal, und geben Sie cd ~ ein, um sicherzustellen, dass Sie sich im Stammverzeichnis befinden.

  2. Öffnen Sie die Datei .profile, in der die Einstellungen für das Terminal gesteuert werden, mit dem Terminal-Text-Editor nano: sudo nano .profile.

  3. Fügen Sie am Ende der Datei Folgendes hinzu (ohne die # set PATH-Einstellungen zu ändern):

    # My Aliases
    alias start-pg='sudo service postgresql start'
    alias run-pg='sudo -u postgres psql'
    

    Dadurch können Sie start-pg eingeben, um den PostgreSQL-Dienst zu starten, und run-pg, um die psql-Shell zu öffnen. Sie können start-pg und run-pg in beliebige Namen ändern. Achten Sie jedoch darauf, keinen Befehl zu überschreiben, der von Postgres bereits verwendet wird.

  4. Nachdem Sie die neuen Aliase hinzugefügt haben, beenden Sie den Text-Editor nano, indem Sie STRG+X drücken, Y (Ja) auswählen, wenn Sie gefragt werden, ob Sie speichern möchten, und die EINGABETASTE drücken (wobei Sie den Dateinamen .profilebeibehalten).

  5. Schließen Sie das WSL-Terminal, öffnen Sie es erneut, und probieren Sie dann die neuen Aliasbefehle aus.

Problembehandlung

Fehler: directory-sync fdatasync Invalid argument

Stellen Sie sicher, dass Sie Ihre Linux-Distribution im WSL 2-Modus ausführen. Hilfe beim Wechseln von WSL 1 zu WSL 2 finden Sie unter Festlegen der Verteilungsversion auf WSL 1 oder WSL 2.

Zusätzliche Ressourcen