Freigeben über


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

Diese schrittweise Anleitung hilft Ihnen bei den ersten Schritten beim Verbinden Ihres Projekts in WSL mit einer Datenbank. Erste Schritte mit MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server oder SQLite.

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 einer oder mehreren Tabellen organisiert, in denen Datentypen miteinander verknüpft sein können. Es ist vertikal skalierbar, was bedeutet, dass eine ultimative Maschine die Arbeit für Sie erledigen wird. Es ist derzeit die am häufigsten verwendete der vier Datenbanksysteme.

PostgreSQL- (manchmal auch als Postgres bezeichnet) ist auch eine open-source SQL-relationale Datenbank mit schwerpunktmäßiger Erweiterbarkeit und Standardskonformität. Es kann json jetzt auch verarbeiten, aber es ist im Allgemeinen besser für strukturierte Daten, vertikale Skalierung und ACID-kompatible Anforderungen wie eCommerce und Finanztransaktionen.

Microsoft SQL Server umfasst SQL Server unter Windows, SQL Server unter Linux und SQL in Azure. Dies sind auch relationale Datenbankverwaltungssysteme, die auf Servern eingerichtet sind, mit der primären Funktion zum Speichern und Abrufen von Daten, wie sie von Softwareanwendungen angefordert werden.

SQLite- ist eine eigenständige, dateibasierte, "serverlose" Datenbank, die für die Portabilität, Zuverlässigkeit und gute Leistung auch in Umgebungen mit geringem Arbeitsspeicher bekannt ist.

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

Redis ist ein NoSQL-Datenspeicher mit offenem Quellcode im Arbeitsspeicher. Es verwendet Schlüssel-Wert-Paare für den Speicher anstelle von Dokumenten.

Installieren von MySQL

Um MySQL auf einer Linux-Distribution zu installieren, die auf WSL ausgeführt wird, folgen Sie einfach den Anweisungen zum Installieren von MySQL unter Linux in der MySQL-Dokumentation. Möglicherweise müssen Sie zuerst die systemd-Unterstützung in Ihrer wsl.conf Konfigurationsdatei aktivieren.

Beispiel für die Ubuntu-Distribution:

  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 mit: sudo apt install mysql-server
  3. Installation bestätigen und Versionsnummer abrufen: mysql --version
  4. MySQL Server starten/ Status überprüfen: systemctl status mysql
  5. Um die MySQL-Eingabeaufforderung zu öffnen, geben Sie Folgendes ein: sudo mysql
  6. Um zu sehen, welche Datenbanken verfügbar sind, geben Sie in der MySQL-Eingabeaufforderung Folgendes ein: SHOW DATABASES;
  7. Um eine neue Datenbank zu erstellen, geben Sie Folgendes ein: CREATE DATABASE database_name;
  8. Um eine Datenbank zu löschen, geben Sie Folgendes ein: DROP DATABASE database_name;

Weitere Informationen zum Arbeiten mit MySQL-Datenbanken finden Sie in den MySQL-Dokumenten.

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

Möglicherweise möchten Sie 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 eines MySQL-Servers: sudo service mysql start
  2. Starten Sie die Sicherheitsskriptaufforderungen: sudo mysql_secure_installation
  3. Die erste Eingabeaufforderung fragt, ob Sie die VALIDATE PASSWORD COMPONENT einrichten möchten, die verwendet werden kann, um die Stärke 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 auf WSL (d. h. Ubuntu):

  1. Öffnen Sie Ihr WSL-Terminal (dh. Ubuntu).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update
  3. Sobald die Pakete aktualisiert wurden, installieren Sie PostgreSQL (und das -contrib Paket, das einige hilfreiche Dienstprogramme enthält) mit: sudo apt install postgresql postgresql-contrib
  4. Installation bestätigen und Versionsnummer abrufen: psql --version

Es gibt drei Befehle, die Sie wissen müssen, sobald PostgreSQL installiert ist:

  • sudo service postgresql status, um den Status Ihrer Datenbank zu überprüfen.
  • sudo service postgresql start, um mit der Ausführung der Datenbank zu beginnen.
  • sudo service postgresql stop, um die Ausführung der Datenbank zu beenden.

Der Standardadministratorbenutzer, postgres, benötigt ein Kennwort, das zugewiesen ist, um eine Verbindung mit einer Datenbank herzustellen. So legen Sie ein Kennwort fest:

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

So führen Sie PostgreSQL mit psql Shell aus:

  1. Starten Sie Ihren Postgres-Service: sudo service postgresql start
  2. Stellen Sie eine Verbindung mit dem Postgres-Dienst her, und öffnen Sie die psql-Shell: sudo -u postgres psql

Nachdem Sie die psql-Shell erfolgreich eingegeben haben, wird die Befehlszeilenänderung wie folgt angezeigt: postgres=#

Anmerkung

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

Um Postgres zu beenden, geben Sie folgendes ein: \q oder verwenden Sie die Tastenkombination: STRG+D.

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

Weitere Informationen zum Arbeiten mit PostgreSQL-Datenbanken finden Sie in den PostgreSQL-Dokumentationen.

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

Installieren von MongoDB

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

Die Installation von MongoDB erfordert möglicherweise geringfügig unterschiedliche Schritte, je nachdem, welche Linux-Verteilung für die Installation verwendet wird. Beachten Sie außerdem, dass die MongoDB-Installation je nach Version # variieren 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 am Ziel ausgerichtet ist. 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 Befehl systemctl ist Teil des systemd init-Systems und funktioniert möglicherweise nicht, wenn Ihre Verteilung systemv verwendet.

VS Code unterstützt das Arbeiten mit MongoDB-Datenbanken über die Azure CosmosDB-Erweiterung, Sie können MongoDB-Datenbanken in VS Code erstellen, verwalten und abfragen. Weitere Informationen finden Sie in den VS Code-Dokumenten: Arbeiten mit MongoDB.

Weitere Informationen finden Sie in den MongoDB-Dokumenten:

Installieren von Microsoft SQL Server

Schnellstart: Installieren von SQL Server und Erstellen einer Datenbank unter Windows-Subsystem für Linux (WSL 2).

Installieren von SQLite

So installieren Sie SQLite auf WSL (dh. Ubuntu):

  1. Öffnen Sie Ihr WSL-Terminal (dh. Ubuntu).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update
  3. Nachdem die Pakete aktualisiert wurden, installieren Sie SQLite3 mit: sudo apt install sqlite3
  4. Installation bestätigen und Versionsnummer abrufen: sqlite3 --version

Um eine Testdatenbank namens "example.db" zu erstellen, geben Sie Folgendes ein: sqlite3 example.db

Um eine Liste Ihrer SQLite-Datenbanken anzuzeigen, geben Sie Folgendes ein: .databases

Um den Status Ihrer Datenbank anzuzeigen, geben Sie Folgendes ein: .dbinfo ?DB?

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

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

Um die SQLite-Eingabeaufforderung zu beenden, geben Sie Folgendes ein: .exit

Weitere Informationen zum Arbeiten mit einer SQLite-Datenbank finden Sie in den SQLite-Dokumenten.

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

Installieren von Redis

So installieren Sie Redis auf WSL (ie. Ubuntu):

  1. Öffnen Sie Ihr WSL-Terminal (dh. Ubuntu).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update
  3. Nachdem die Pakete aktualisiert wurden, installieren Sie Redis mit: sudo apt install redis-server
  4. Installation bestätigen und Versionsnummer abrufen: redis-server --version

So starten Sie den Redis-Server: sudo service redis-server start

Überprüfen Sie, ob Redis funktioniert (redis-cli ist das Befehlszeilenschnittstellenprogramm für die Kommunikation mit Redis): redis-cli ping dies sollte eine Antwort von "PONG" zurückgeben.

So beenden Sie die Ausführung des Redis-Servers: sudo service redis-server stop

Weitere Informationen zum Arbeiten mit einer Redis-Datenbank finden Sie in den Redis-Dokumenten.

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

Anzeigen von laufenden Diensten und Einrichten von Profilalias

Um die Dienste anzuzeigen, die Sie derzeit in Ihrer WSL-Distribution ausgeführt haben, geben Sie Folgendes ein: 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 die Einrichtung von Aliasen in Ihrer .profile Datei auf WSL in Betracht ziehen, um diese Befehle schneller zu verwenden und zu merken.

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

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

  2. Öffnen Sie die .profile Datei, die die Einstellungen für Ihr Terminal steuert, mit dem Terminaltext-Editor, Nano: sudo nano .profile

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

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

    Auf diese Weise können Sie start-pg eingeben, um mit der Ausführung des Postgresql-Diensts zu beginnen und run-pg, um die psql-Shell zu öffnen. Sie können start-pg und run-pg in beliebige Namen ändern. Achten Sie nur darauf, keinen Befehl zu überschreiben, den Postgres bereits verwendet!

  4. Nachdem Sie Ihre neuen Aliase hinzugefügt haben, beenden Sie den Nano-Text-Editor mit STRG+X -- wählen Sie Y (Ja) aus, wenn Sie zum Speichern aufgefordert werden, und drücken Sie die Eingabetaste (lassen Sie den Dateinamen als .profile).

  5. Schließen Sie das WSL-Terminal, und öffnen Sie es erneut, und versuchen Sie dann ihre neuen Aliasbefehle.

Fehlerbehebung

Fehler: Verzeichnissynchronisierung fdatasync Ungültiges Argument

Stellen Sie sicher, dass Sie Ihre Linux-Distribution im WSL 2-Modus betreiben. Hilfe zum Wechseln von WSL 1 zu WSL 2 finden Sie unter Festlegen der Verteilerversion auf WSL 1 oder WSL 2.

Weitere Ressourcen