Einstieg in Datenbanken unter Windows-Subsystem für LinuxGet started with databases on Windows Subsystem for Linux

Diese Schritt-für-Schritt-Anleitung hilft Ihnen beim Einstieg in die Verbindung Ihres Projekts in WSL mit einer-Datenbank.This step-by-step guide will help you get started connecting your project in WSL to a database. Beginnen Sie mit MySQL, PostgreSQL, MongoDB, redis, Microsoft SQL Server oder SQLite.Get started with MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server, or SQLite.

VoraussetzungenPrerequisites

Unterschiede zwischendatenbanksystemenDifferences between database systems

Zu den beliebtesten Optionen für ein Datenbanksystem gehören:The most popular choices for a database system include:

MySQL ist eine relationale SQL-Datenbank, die Daten in einer oder mehreren Tabellen organisiert, in denen Datentypen miteinander verknüpft werden können.MySQL is an open-source SQL relational database, organizing data into one or more tables in which data types may be related to each other. Es ist vertikal skalierbar, was bedeutet, dass ein endgültiger Computer die Arbeit für Sie übernimmt.It is vertically scalable, which means one ultimate machine will do the work for you. Dies ist derzeit die am häufigsten verwendete der vier Datenbanksysteme.It is currently the most widely used of the four database systems.

PostgreSQL (auch als Postgres bezeichnet) ist eine Open-Source-relationale SQL-Datenbank mit dem Schwerpunkt auf Erweiterbarkeit und Einhaltung von Standards.PostgreSQL (sometimes referred to as Postgres) is also an open-source SQL relational database with an emphasis on extensibility and standards compliance. 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.It can handle JSON now too, but it is generally better for structured data, vertical scaling, and ACID-compliant needs like eCommerce and financial transactions.

Microsoft SQL Server umfasst SQL Server unter Windows, SQL Server für Linux und SQL in Azure.Microsoft SQL Server includes SQL Server on Windows, SQL Server on Linux, and SQL on Azure. Dies sind auch Verwaltungssysteme für relationale Datenbanken, die auf Servern mit der primären Funktion zum Speichern und Abrufen von Daten gemäß der Anforderung von Softwareanwendungen eingerichtet sind.These are also relational database management systems set up on servers with primary function of storing and retrieving data as requested by software applications.

SQLite ist eine eigenständige, dateibasierte, "Server lose" Open Source-Datenbank, die für die Portabilität, Zuverlässigkeit und gute Leistung, auch in Umgebungen mit geringem Arbeitsspeicher, bekannt ist.SQLite is an open-source self-contained, file-based, “serverless” database, known for its portability, reliability, and good performance even in low-memory environments.

MongoDB ist eine Open-Source-nosql-dokumentdatenbank, die für die Arbeit mit JSON und das Speichern von Schema freien Daten konzipiert ist.MongoDB is an open-source NoSQL document database designed to work with JSON and store schema-free data. Es ist horizontal skalierbar, was bedeutet, dass mehrere kleinere Computer die Arbeit für Sie erledigen.It is horizontally scalable, which means multiple smaller machines will do the work for you. Es eignet sich gut für Flexibilität und unstrukturierte Daten sowie für das Zwischenspeichern von Echtzeitanalysen.It's good for flexibility and unstructured data, and caching real-time analytics.

Redis ist ein nosql-Speicher im Arbeitsspeicher im Datenstruktur Speicher von nosql.Redis is is an open-source NoSQL in-memory data structure store. Es verwendet Schlüssel-Wert-Paare für die Speicherung anstelle von Dokumenten.It uses key-value pairs for storage instead of documents. Redis ist für die Flexibilität, Leistung und weite Sprachunterstützung bekannt.Redis is known for its flexibility, performance, and wide language support. Es ist flexibel genug, um als Cache-oder Nachrichten Broker verwendet zu werden, und kann Datenstrukturen wie Listen, Sets und Hashes verwenden.It’s flexible enough to be used as a cache or message broker and can use data structures like lists, sets, and hashes.

Welche Art von Datenbank Sie auswählen sollten, hängt von der Art der Anwendung ab, mit der Sie die Datenbank verwenden werden.The sort of database you choose should depend on the type of application you will be using the database with. Sie sollten sich über die Vor- und Nachteile von strukturierten und unstrukturierten Datenbanken informieren und die geeignete Auswahl für Ihren Anwendungsfall treffen.We recommend that you look up the advantages and disadvantages of structured and unstructured databases and choose based on your use case.

Installieren von MySQLInstall MySQL

So installieren Sie MySQL auf WSL (Ubuntu 18,04):To install MySQL on WSL (Ubuntu 18.04):

  1. Öffnen Sie das WSL-Terminal (d. h. Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update.Update your Ubuntu packages: sudo apt update
  3. Nachdem die Pakete aktualisiert wurden, installieren Sie MySQL mit: sudo apt install mysql-serverOnce the packages have updated, install MySQL with: sudo apt install mysql-server
  4. Bestätigen Sie die Installation, und rufen Sie die Versionsnummer ab: mysql --version.Confirm installation and get the version number: mysql --version

Möglicherweise möchten Sie auch das enthaltene Sicherheits Skript ausführen.You may also want to run the included security script. Dies ändert einige der weniger sicheren Standardoptionen für Dinge wie Remote-Stamm Anmeldungen und Beispiel Benutzer.This changes some of the less secure default options for things like remote root logins and sample users. So führen Sie das Sicherheits Skript aus:To run the security script:

  1. Starten eines MySQL-Servers: sudo /etc/init.d/mysql startStart a MySQL server: sudo /etc/init.d/mysql start
  2. Starten Sie die Sicherheits Skript Aufforderungen: sudo mysql_secure_installationStart the security script prompts: sudo mysql_secure_installation
  3. In der ersten Aufforderung werden Sie gefragt, ob Sie das Kennwort für die Kenn Wort Validierung einrichten möchten, mit dem Sie die Stärke des MySQL-Kennworts testen können.The first prompt will ask whether you’d like to set up the Validate Password Plugin, which can be used to test the strength of your MySQL password. Anschließend legen Sie ein Kennwort für den MySQL-root-Benutzer fest, entscheiden, ob anonyme Benutzer entfernt werden sollen, und entscheiden, ob der root-Benutzer sich sowohl lokal als auch remote anmelden darf, ob die Testdatenbank entfernt werden soll, und schließlich entscheiden Sie, ob die Berechtigungs Tabellen sofort erneut geladen werden sollen.You will then set a password for the MySQL root user, decide whether or not to remove anonymous users, decide whether to allow the root user to login both locally and remotely, decide whether to remove the test database, and, lastly, decide whether to reload the privilege tables immediately.

Geben Sie zum Öffnen der MySQL-Eingabeaufforderung Folgendes ein: sudo mysqlTo open the MySQL prompt, enter: sudo mysql

Geben Sie in der MySQL-Eingabeaufforderung Folgendes ein, um die verfügbaren Datenbanken anzuzeigen: SHOW DATABASES;To see what databases you have available, in the MySQL prompt, enter: SHOW DATABASES;

Geben Sie Folgendes ein, um eine neue Datenbank zu erstellen: CREATE DATABASE database_name;To create a new database, enter: CREATE DATABASE database_name;

Geben Sie Folgendes ein, um eine Datenbank zu löschen: DROP DATABASE database_name;To delete a database, enter: DROP DATABASE database_name;

Weitere Informationen zum Arbeiten mit MySQL-Datenbanken finden Sie in der MySQL-Dokumentation.For more about working with MySQL databases, see the MySQL docs.

Wenn Sie mit MySQL-Datenbanken in vs Code arbeiten möchten, testen Sie die MySQL-Erweiterung.To work with with MySQL databases in VS Code, try the MySQL extension.

Installieren von PostgreSQLInstall PostgreSQL

So installieren Sie PostgreSQL auf WSL (Ubuntu 18,04):To install PostgreSQL on WSL (Ubuntu 18.04):

  1. Öffnen Sie das WSL-Terminal (d. h. Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update.Update your Ubuntu packages: 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.Once the packages have updated, install PostgreSQL (and the -contrib package which has some helpful utilities) with: sudo apt install postgresql postgresql-contrib
  4. Bestätigen Sie die Installation, und rufen Sie die Versionsnummer ab: psql --version.Confirm installation and get the version number: psql --version

Es gibt drei Befehle, die Sie nach der Installation von PostgreSQL kennen müssen:There are 3 commands you need to know once PostgreSQL is installed:

  • sudo service postgresql status zum Überprüfen des Status Ihrer Datenbank.sudo service postgresql status for checking the status of your database.
  • sudo service postgresql start, um die Ausführung der Datenbank zu starten.sudo service postgresql start to start running your database.
  • sudo service postgresql stop, um die Ausführung der Datenbank zu stoppen.sudo service postgresql stop to stop running your database.

Der standardmäßige Administratorbenutzer (postgres) benötigt ein zugewiesenes Kennwort, um eine Verbindung mit einer Datenbank herzustellen.The default admin user, postgres, needs a password assigned in order to connect to a database. So legen Sie ein Kennwort fest:To set a password:

  1. Geben Sie den Befehl sudo passwd postgres ein.Enter the command: sudo passwd postgres
  2. Sie erhalten eine Aufforderung, Ihr neues Kennwort einzugeben.You will get a prompt to enter your new password.
  3. Schließen Sie das Terminal, und öffnen Sie es erneut.Close and reopen your terminal.

So führen Sie PostgreSQL mit psql -Shell aus:To run PostgreSQL with psql shell:

  1. Starten Ihres Postgres-Diensts: sudo service postgresql start.Start your postgres service: sudo service postgresql start
  2. Verbinden Sie sich mit dem Postgres-Dienst, und öffnen Sie die psql-Shell: sudo -u postgres psql.Connect to the postgres service and open the psql shell: sudo -u postgres psql

Nachdem Sie die psql-Shell erfolgreich eingegeben haben, sehen Sie, dass die Befehlszeile sich wie folgt ändert: postgres=#.Once you have successfully entered the psql shell, you will see your command line change to look like this: 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.Alternatively, you can open the psql shell by switching to the postgres user with: su - postgres and then entering the command: psql.

Um Postgres = # Enter: zu beenden, \q oder verwenden Sie die Tastenkombination: STRG + DTo exit postgres=# enter: \q or use the shortcut key: Ctrl+D

Um anzuzeigen, welche Benutzerkonten in Ihrer PostgreSQL-Installation erstellt wurden, geben Sie psql -c "\du" in Ihr WSL-Terminal ein, oder einfach \du, wenn die psql-Shell geöffnet ist.To see what user accounts have been created on your PostgreSQL installation, use from your WSL terminal: psql -c "\du" ...or just \du if you have the psql shell open. Mit diesem Befehl werden Spalten angezeigt: Benutzer Name des Kontos, Liste der Rollen Attribute und Mitglied der Rollen Gruppe (n).This command will display columns: Account User Name, List of Roles Attributes, and Member of role group(s). Um zur Befehlszeile zurückzukehren, geben Sie q ein.To exit back to the command line, enter: q.

Weitere Informationen zum Arbeiten mit PostgreSQL-Datenbanken finden Sie in der PostgreSQL-Dokumentation.For more about working with PostgreSQL databases, see the PostgreSQL docs.

Wenn Sie mit PostgreSQL-Datenbanken in vs Code arbeiten möchten, testen Sie die PostgreSQL-Erweiterung.To work with with PostgreSQL databases in VS Code, try the PostgreSQL extension.

Installieren von MongoDBInstall MongoDB

So installieren Sie MongoDB auf WSL (Ubuntu 18,04):To install MongoDB on WSL (Ubuntu 18.04):

  1. Öffnen Sie das WSL-Terminal (d. h. Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update.Update your Ubuntu packages: sudo apt update
  3. Nachdem die Pakete aktualisiert wurden, installieren Sie MongoDB wie folgt: sudo apt-get install mongodb.Once the packages have updated, install MongoDB with: sudo apt-get install mongodb
  4. Bestätigen Sie die Installation, und rufen Sie die Versionsnummer ab: mongod --version.Confirm installation and get the version number: mongod --version

Nach der Installation von MongoDB müssen Sie drei Befehle kennen:There are 3 commands you need to know once MongoDB is installed:

  • sudo service mongodb status zum Überprüfen des Status Ihrer Datenbank.sudo service mongodb status for checking the status of your database.
  • sudo service mongodb start, um die Ausführung der Datenbank zu starten.sudo service mongodb start to start running your database.
  • sudo service mongodb stop, um die Ausführung der Datenbank zu stoppen.sudo service mongodb stop to stop running your database.

Hinweis

Möglicherweise wird in Tutorials oder Artikeln der Befehl sudo systemctl status mongodb verwendet.You might see the command sudo systemctl status mongodb used in tutorials or articles. Damit das Paket nicht zu groß wird, ist systemd (ein Dienstverwaltungssystem unter Linux) in WSL nicht enthalten.In order to remain lightweight, WSL does not include systemd (a service management system in Linux). Stattdessen wird SysVinit verwendet, um Dienste auf Ihrem Computer zu starten.Instead, it uses SysVinit to start services on your machine. Sie sollten keinen Unterschied bemerken, aber wenn in einem Tutorial die Verwendung von sudo systemctl empfohlen wird, verwenden Sie stattdessen sudo /etc/init.d/.You shouldn't notice a difference, but if a tutorial recommends using sudo systemctl, instead use: sudo /etc/init.d/. Beispiel: sudo systemctl status mongodb entspricht in WSL sudo /etc/inid.d/mongodb status. Sie können jedoch auch sudo service mongodb status verwenden.For example, sudo systemctl status mongodb, for WSL would be sudo /etc/inid.d/mongodb status ...or you can also use sudo service mongodb status.

So führen Sie die Mongo-Datenbank auf einem lokalen Server aus:To run your Mongo database in a local server:

  1. Überprüfen Sie den Status der Datenbank: sudo service mongodb status Sie sollten eine [FAIL]-Antwort sehen, es sei denn, Sie haben die Datenbank bereits gestartet.Check the status of your database: sudo service mongodb status You should see a [Fail] response, unless you've already started your database.

  2. Starten Sie die Datenbank: es sudo service mongodb start sollte nun eine [OK]-Antwort angezeigt werden.Start your database: sudo service mongodb start You should now see an [OK] response.

  3. Überprüfen Sie, ob Sie eine Verbindung mit dem Datenbankserver herstellen, und führen Sie einen Diagnose Befehl mongo --eval 'db.runCommand({ connectionStatus: 1 })' aus: Dadurch werden die aktuelle Datenbankversion, die Server Adresse und der Port sowie die Ausgabe des Status-Befehls ausgegeben.Verify by connecting to the database server and running a diagnostic command: mongo --eval 'db.runCommand({ connectionStatus: 1 })' This will output the current database version, the server address and port, and the output of the status command. Der Wert 1 für das Feld „ok“ in der Antwort gibt an, dass der Server funktioniert.A value of 1 for the "ok" field in the response indicates that the server is working.

  4. Wenn Sie die Ausführung des MongoDB-Diensts unterbinden möchten, geben Sie Folgendes ein: sudo service mongodb stopTo stop your MongoDB service from running, enter: sudo service mongodb stop

Hinweis

MongoDB verfügt über mehrere Standardparameter, darunter die Speicherung von Daten in „/data/db“ und die Ausführung an Port 27017.MongoDB has several default parameters, including storing data in /data/db and running on port 27017. Außerdem ist mongod der Daemon (Hostprozess für die Datenbank), und mongo ist die Befehlszeilenshell, die eine Verbindung mit einer bestimmten Instanz von mongod herstellt.Also, mongod is the daemon (host process for the database) and mongo is the command-line shell that connects to a specific instance of mongod.

VS Code die Arbeit mit MongoDB-Datenbanken über die Azure Cosmos DB-Erweiterungunterstützt, können Sie MongoDB-Datenbanken in vs Code erstellen, verwalten und Abfragen.VS Code supports working with MongoDB databases via the Azure CosmosDB extension, you can create, manage and query MongoDB databases from within VS Code. Weitere Informationen finden Sie in der vs Code docs: Arbeiten mit MongoDB.To learn more, visit the VS Code docs: Working with MongoDB.

Weitere Informationen finden Sie in der MongoDB-Dokumentation:Learn more in the MongoDB docs:

Installieren von Microsoft SQL ServerInstall Microsoft SQL Server

Um SQL Server auf WSL (Ubuntu 18,04) zu installieren, führen Sie diesen Schnellstart aus: Installieren Sie SQL Server, und erstellen Sie eine Datenbank unter Ubuntu.To install SQL Server on WSL (Ubuntu 18.04), follow this quickstart: Install SQL Server and create a database on Ubuntu.

Wenn Sie mit Microsoft SQL Server Datenbanken in vs Code arbeiten möchten, testen Sie die MSSQL-Erweiterung.To work with Microsoft SQL Server databases in VS Code, try the MSSQL extension.

Installieren von SQLiteInstall SQLite

So installieren Sie SQLite auf WSL (Ubuntu 18,04):To install SQLite on WSL (Ubuntu 18.04):

  1. Öffnen Sie das WSL-Terminal (d. h. Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update.Update your Ubuntu packages: sudo apt update
  3. Sobald die Pakete aktualisiert wurden, installieren Sie sqlite3 mit: sudo apt install sqlite3Once the packages have updated, install SQLite3 with: sudo apt install sqlite3
  4. Bestätigen Sie die Installation, und rufen Sie die Versionsnummer ab: sqlite3 --version.Confirm installation and get the version number: sqlite3 --version

Geben Sie Folgendes ein, um eine Testdatenbank mit dem Namen "example. DB" zu erstellen: sqlite3 example.dbTo create a test database, called "example.db", enter: sqlite3 example.db

Geben Sie Folgendes ein, um eine Liste Ihrer SQLite-Datenbanken anzuzeigen: .databasesTo see a list of your SQLite databases, enter: .databases

Geben Sie Folgendes ein, um den Status der Datenbank anzuzeigen: .dbinfo ?DB?To see the status of your database, enter: .dbinfo ?DB?

Geben Sie zum Beenden der SQLite-Eingabeaufforderung Folgendes ein: .exitTo exit the SQLite prompt, enter: .exit

Weitere Informationen zum Arbeiten mit einer SQLite-Datenbank finden Sie in der SQLite-Dokumentation.For more information about working with a SQLite database, see the SQLite docs.

Wenn Sie in vs Code mit SQLite-Datenbanken arbeiten möchten, testen Sie die SQLite-Erweiterung.To work with SQLite databases in VS Code, try the SQLite extension.

Installieren von redisInstall Redis

So installieren Sie redis auf WSL (Ubuntu 18,04):To install Redis on WSL (Ubuntu 18.04):

  1. Öffnen Sie das WSL-Terminal (d. h. Ubuntu 18.04).Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aktualisieren Sie Ihre Ubuntu-Pakete: sudo apt update.Update your Ubuntu packages: sudo apt update
  3. Nachdem die Pakete aktualisiert wurden, installieren Sie redis wie folgt: sudo apt install redis-serverOnce the packages have updated, install Redis with: sudo apt install redis-server
  4. Bestätigen Sie die Installation, und rufen Sie die Versionsnummer ab: redis-server --version.Confirm installation and get the version number: redis-server --version

So beginnen Sie mit der Ausführung des redis-Servers: sudo service redis-server startTo start running your Redis server: sudo service redis-server start

Überprüfen Sie, ob redis funktioniert (redis-cli ist das Befehlszeilenschnittstelle-Hilfsprogramm für die Kommunikation mit redis): Hiermit redis-cli ping sollte die Antwort "Pong" zurückgegeben werden.Check to see if redis is working (redis-cli is the command line interface utility to talk with Redis): redis-cli ping this should return a reply of "PONG".

So können Sie den redis-Server nicht mehr ausführen: sudo service redis-server stopTo stop running your Redis server: sudo service redis-server stop

Weitere Informationen zum Arbeiten mit einer redis-Datenbank finden Sie in der redis-Dokumentation.For more information about working with a Redis database, see the Redis docs.

Wenn Sie in vs Code mit redis-Datenbanken arbeiten möchten, verwenden Sie die redis-Erweiterung.To work with Redis databases in VS Code, try the Redis extension.

Anzeigen von Diensten, die ausgeführt werden, und Einrichten von Profil AliasenSee services running and set up profile aliases

Geben Sie Folgendes ein, um die Dienste anzuzeigen, die Sie zurzeit in der WSL-Distribution ausgeführt haben: service --status-allTo see the services that you currently have running on your WSL distribution, enter: service --status-all

Das Eingeben von sudo service mongodb start oder sudo service postgres start und sudo -u postgrest psql kann mühsam werden.Typing out sudo service mongodb start or sudo service postgres start and sudo -u postgrest psql can get tedious. 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.However, you could consider setting up aliases in your .profile file on WSL to make these commands quicker to use and easier to remember.

So richten Sie einen eigenen benutzerdefinierten Alias oder eine Verknüpfung für die Ausführung dieser Befehle einTo set up your own custom alias, or shortcut, for executing these commands:

  1. Öffnen Sie das WSL-Terminal, und geben Sie cd ~ ein, um sicherzustellen, dass Sie sich im Stammverzeichnis befinden.Open your WSL terminal and enter cd ~ to be sure you're in the root directory.

  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.Open the .profile file, which controls the settings for your terminal, with the terminal text editor, Nano: sudo nano .profile

  3. Fügen Sie am Ende der Datei Folgendes hinzu (ohne die # set PATH-Einstellungen zu ändern):At the bottom of the file (don't change the # set PATH settings), add the following:

    # 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.This will allow you to enter start-pg to start running the postgresql service and run-pg to open the psql shell. 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.You can change start-pg and run-pg to whatever names you want, just be careful not to overwrite a command that postgres already uses!

  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).Once you've added your new aliases, exit the Nano text editor using Ctrl+X -- select Y (Yes) when prompted to save and Enter (leaving the file name as .profile).

  5. Schließen Sie das WSL-Terminal, öffnen Sie es erneut, und probieren Sie dann die neuen Aliasbefehle aus.Close and re-open your WSL terminal, then try your new alias commands.

Zusätzliche RessourcenAdditional resources