Delen via


Aan de slag met databases in het Windows-subsysteem voor Linux

Deze stapsgewijze handleiding helpt u aan de slag te gaan met het verbinden van uw project in WSL met een database. Aan de slag met MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server of SQLite.

Voorwaarden

Verschillen tussen databasesystemen

Enkele populaire opties voor een databasesysteem zijn:

MySQL- is een opensource-relationele SQL-database, waarbij gegevens worden georganiseerd in een of meer tabellen waarin gegevenstypen mogelijk aan elkaar zijn gerelateerd. Het is verticaal schaalbaar, wat betekent dat één ultieme machine het werk voor u zal doen. Het is momenteel de meest gebruikte van de vier databasesystemen.

PostgreSQL- (ook wel Postgres genoemd) is ook een opensource sql-relationele database met nadruk op uitbreidbaarheid en naleving van standaarden. Het kan nu ook JSON verwerken, maar het is over het algemeen beter voor gestructureerde gegevens, verticale schaalaanpassing en ACID-compatibele behoeften, zoals e-commerce en financiële transacties.

Microsoft SQL Server- bevat SQL Server in Windows, SQL Server op Linux en SQL in Azure. Dit zijn ook relationele databasebeheersystemen die zijn ingesteld op servers met de primaire functie voor het opslaan en ophalen van gegevens zoals aangevraagd door softwaretoepassingen.

SQLite is een opensource-, op bestanden gebaseerde, 'serverloze' database, bekend om de draagbaarheid, betrouwbaarheid en goede prestaties, zelfs in omgevingen met weinig geheugen.

MongoDB- is een opensource NoSQL-documentdatabase die is ontworpen om te werken met JSON en schemavrije gegevens op te slaan. Het is horizontaal schaalbaar, wat betekent dat meerdere kleinere machines het werk voor u doen. Het is goed voor flexibiliteit en ongestructureerde gegevens en het in realtime opslaan van analyses.

Redis is een open-source NoSQL in-memory datastore voor gegevensstructuren. Er worden sleutel-waardeparen gebruikt voor opslag in plaats van documenten.

MySQL installeren

Als u MySQL wilt installeren op een Linux-distributie die wordt uitgevoerd op WSL, volgt u de MySQL installeren op Linux instructies in de MySQL-documenten. Mogelijk moet u eerst systeemondersteuning inschakelen in uw wsl.conf configuratiebestand.

Voorbeeld met behulp van de Ubuntu-distributie:

  1. Open de Ubuntu-opdrachtregel en werk de beschikbare pakketten bij:

    sudo apt update
    
  2. Zodra de pakketten zijn bijgewerkt, installeert u MySQL met:

    sudo apt install mysql-server
    
  3. Bevestig de installatie en haal het versienummer op:

    mysql --version
    
  4. MySQL-server starten/status controleren:

    systemctl status mysql
    
  5. Voer het volgende in om de MySQL-prompt te openen:

    sudo mysql
    
  6. Als u wilt zien welke databases beschikbaar zijn, voert u in de MySQL-prompt het volgende in:

    SHOW DATABASES;
    
  7. Als u een nieuwe database wilt maken, voert u het volgende in:

    CREATE DATABASE database_name;
    
  8. Als u een database wilt verwijderen, voert u het volgende in:

    DROP DATABASE database_name;
    

Zie de MySQL-documentenvoor meer informatie over het werken met MySQL-databases.

Als u wilt werken met MySQL-databases in VS Code, probeert u de MySQL-extensie.

U kunt ook het inbegrepen beveiligingsscript uitvoeren. Hiermee worden enkele van de minder veilige standaardopties gewijzigd voor zaken als externe hoofdaanmelding en voorbeeldgebruikers. Dit script bevat ook stappen voor het wijzigen van het wachtwoord voor mySQL-hoofdgebruiker. Het beveiligingsscript uitvoeren:

  1. Een MySQL-server starten:

    sudo service mysql start
    
  2. Start de prompts voor het beveiligingsscript:

    sudo mysql_secure_installation
    
  3. De eerste melding zal vragen of u het VALIDEER WACHTWOORDCOMPONENT wilt instellen, waarmee u de sterkte van uw MySQL-wachtwoord kunt testen. Als u een eenvoudig wachtwoord wilt instellen, moet u dit onderdeel niet instellen.

  4. Vervolgens stelt u het wachtwoord voor de MySQL-hoofdgebruiker in of u anonieme gebruikers wilt verwijderen, beslist u of de hoofdgebruiker zich zowel lokaal als extern moet aanmelden, beslist u of u de testdatabase wilt verwijderen en beslist u ten slotte of u de bevoegdheidstabellen onmiddellijk opnieuw wilt laden.

PostgreSQL installeren

PostgreSQL installeren op WSL (ie. Ubuntu):

  1. Open uw WSL-terminal (bijvoorbeeld. Ubuntu).

  2. Werk uw Ubuntu-pakketten bij:

    sudo apt update
    
  3. Zodra de pakketten zijn bijgewerkt, installeert u PostgreSQL (en het PostgreSQL Contrib-pakket met enkele nuttige hulpprogramma's) met:

    sudo apt install postgresql postgresql-contrib
    
  4. Bevestig de installatie en haal het versienummer op:

    psql --version
    

Er zijn drie opdrachten die u moet weten wanneer PostgreSQL is geïnstalleerd:

  • De databasestatus controleren

    sudo service postgresql status
    
  • De database starten

    sudo service postgresql start
    
  • De database stoppen

    sudo service postgresql stop
    

De standaardbeheerder, postgres, heeft een wachtwoord nodig dat is toegewezen om verbinding te kunnen maken met een database. Een wachtwoord instellen:

  1. Voer de opdracht in:

    sudo passwd postgres
    
  2. U krijgt een prompt om uw nieuwe wachtwoord in te voeren.

  3. Sluit de terminal en open deze opnieuw.

PostgreSQL uitvoeren met psql shell:

  1. De postgresql-service starten:

    sudo service postgresql start
    
  2. Maak verbinding met de postgres-service en open de psql-shell:

    sudo -u postgres psql
    

Zodra u de psql-shell hebt ingevoerd, ziet u dat de opdrachtregel wordt gewijzigd om er als volgt uit te zien:

postgres=#

Notitie

U kunt de psql-shell ook openen door over te schakelen naar de postgres-gebruiker met: su - postgres en vervolgens de opdracht in te voeren: psql.

Als u postgres=# wilt afsluiten, voert u het volgende in: \q of gebruikt u de sneltoets: Ctrl+D

Als u wilt zien welke gebruikersaccounts zijn gemaakt op uw PostgreSQL-installatie, gebruikt u deze vanuit uw WSL-terminal: psql --command="\du" ... of \du als u de psql-shell hebt geopend. Met deze opdracht worden kolommen weergegeven: Gebruikersnaam van account, lijst met kenmerken van rollen en lid van rolgroep(en). Om terug te keren naar de opdrachtregel, voert u het volgende in: q.

Zie de PostgreSQL-documentenvoor meer informatie over het werken met PostgreSQL-databases.

Als u wilt werken met PostgreSQL-databases in VS Code, probeert u de PostgreSQL-extensie.

MongoDB installeren

Als u MongoDB wilt installeren, raadpleegt u de Mongodb-documenten: MongoDB Community Edition installeren op Linux

Voor het installeren van MongoDB zijn mogelijk iets andere stappen vereist, afhankelijk van de Linux-distributie die wordt gebruikt voor de installatie. Houd er ook rekening mee dat de MongoDB-installatie kan verschillen, afhankelijk van de versie # die u wilt installeren. Gebruik de vervolgkeuzelijst versie in de linkerbovenhoek van de MongoDB-documentatie om de versie te selecteren die overeenkomt met uw doel. Ten slotte moet u mogelijk systeemondersteuning inschakelen in het wsl.conf configuratiebestand van de Linux-distributie die u met WSL gebruikt. De opdracht systemctl maakt deel uit van het init-systeem en werkt mogelijk niet als uw distributie gebruikmaakt van systemv.

VS Code ondersteunt het werken met MongoDB-databases via de Azure CosmosDB-extensie, u kunt MongoDB-databases maken, beheren en er query's op uitvoeren vanuit VS Code. Ga voor meer informatie naar de VS Code-documenten: Werken met MongoDB.

Meer informatie in de MongoDB-documenten:

Microsoft SQL Server installeren

quickstart: INSTALLEER SQL Server en maak een database in het Windows-subsysteem voor Linux (WSL 2).

SQLite installeren

SQLite installeren op WSL (bijvoorbeeld. Ubuntu):

  1. Open uw WSL-terminal (bijvoorbeeld. Ubuntu).

  2. Werk uw Ubuntu-pakketten bij:

    sudo apt update
    
  3. Zodra de pakketten zijn bijgewerkt, installeert u SQLite3 met:

    sudo apt install sqlite3
    
  4. Bevestig de installatie en haal het versienummer op:

    sqlite3 --version
    

Als u een testdatabase wilt maken met de naam 'example.db', voert u het volgende in:

sqlite3 example.db

Als u een lijst met uw SQLite-databases wilt zien, voert u het volgende in: .databases

Als u de status van uw database wilt zien, voert u het volgende in: .dbinfo ?DB?

De database zal leeg zijn na het maken. U kunt een nieuwe tabel voor uw database maken met CREATE TABLE empty (kol INTEGER);.

Als u nu de .dbinfo ?DB? invoert, wordt de database weergegeven die u hebt gemaakt.

Voer het volgende in om de SQLite-prompt af te sluiten: .exit

Zie de SQLite-documentenvoor meer informatie over het werken met een SQLite-database.

Als u wilt werken met SQLite-databases in VS Code, probeert u de SQLite-extensie.

Redis installeren

Redis installeren op WSL (ie. Ubuntu):

  1. Open uw WSL-terminal (bijvoorbeeld. Ubuntu).

  2. Werk uw Ubuntu-pakketten bij:

    sudo apt update
    
  3. Zodra de pakketten zijn bijgewerkt, installeert u Redis met:

    sudo apt install redis-server
    
  4. Bevestig de installatie en haal het versienummer op:

    redis-server --version
    

Volg deze stappen om uw Redis-server te starten:

sudo service redis-server start

Controleer of redis werkt (redis-cli is het opdrachtregelinterfacehulpprogramma om met Redis te praten):

redis-cli ping

Dit moet een antwoord van "PONG" retourneren.

Ga als volgende te werk om te stoppen met het uitvoeren van uw Redis-server:

sudo service redis-server stop

Zie de Redis-documentenvoor meer informatie over het werken met een Redis-database.

Als u wilt werken met Redis-databases in VS Code, probeert u de Redis-extensie.

Services bekijken die actief zijn en profielaliassen instellen

Als u wilt zien welke services momenteel worden uitgevoerd op uw WSL-distributie, voert u het volgende in:

service --status-all

Typen van sudo service mongodb start of sudo service postgres start en sudo -u postgrest psql kan vermoeiend zijn. U kunt echter ook aliassen instellen in uw .profile-bestand op WSL om deze opdrachten sneller te gebruiken en gemakkelijker te onthouden.

Als u uw eigen aangepaste alias of snelkoppeling wilt instellen voor het uitvoeren van deze opdrachten:

  1. Open uw WSL-terminal en voer cd ~ in om ervoor te zorgen dat u zich in de hoofdmap bevindt.

  2. Open het .profile bestand, waarmee de instellingen voor uw terminal worden beheerd, met de terminalteksteditor Nano:

    sudo nano .profile
    
  3. Voeg onder aan het bestand (wijzig de # set PATH-instellingen niet) het volgende toe:

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

    Hiermee kunt u start-pg invoeren om de postgresql-service uit te voeren en run-pg om de psql-shell te openen. U kunt start-pg en run-pg wijzigen in de namen die u wilt, maar wees voorzichtig met het overschrijven van een opdracht die al door Postgres wordt gebruikt.

  4. Nadat u uw nieuwe aliassen hebt toegevoegd, sluit u de Nano-teksteditor af met Ctrl+X-. Selecteer Y (Ja) wanneer u wordt gevraagd om op te slaan en Enter (waarbij u de bestandsnaam laat staan als .profile).

  5. Sluit de WSL-terminal en open deze opnieuw en probeer de nieuwe aliasopdrachten.

Probleemoplossing

Fout: directory-sync fdatasync Ongeldig argument

Zorg ervoor dat u uw Linux-distributie uitvoert in de WSL 2-modus. Zie Uw distributieversie instellen op WSL 1 of WSL 2voor hulp bij het overschakelen van WSL 1 naar WSL 2.

Aanvullende informatiebronnen