Condividi tramite


Introduzione ai database nel sottosistema Windows per Linux

Questa guida dettagliata consente di iniziare a connettere il progetto in WSL a un database. Introduzione a MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server o SQLite.

Prerequisiti

Differenze tra sistemi di database

Alcune scelte popolari per un sistema di database includono:

mySQL è un database relazionale SQL open source, organizzando i dati in una o più tabelle in cui i tipi di dati possono essere correlati tra loro. È scalabile verticalmente, il che significa che una macchina finale eseguirà il lavoro per voi. Attualmente è il più diffuso dei quattro sistemi di database.

PostgreSQL (talvolta definito Postgres) è anche un database relazionale SQL open source con particolare attenzione alla conformità agli standard e all'estendibilità. Può gestire anche JSON, ma in genere è meglio per i dati strutturati, la scalabilità verticale e le esigenze conformi a ACID, ad esempio e Commerce e transazioni finanziarie.

Microsoft SQL Server include SQL Server su Windows, SQL Server su Linux e SQL su Azure. Si tratta anche di sistemi di gestione di database relazionali configurati nei server con funzione primaria di archiviazione e recupero dei dati come richiesto dalle applicazioni software.

SQLite è un database open source indipendente, basato su file, "serverless", noto per la portabilità, l'affidabilità e buone prestazioni anche in ambienti a memoria insufficiente.

mongoDB è un database di documenti NoSQL open source progettato per l'uso con JSON e l'archiviazione di dati senza schema. È scalabile orizzontalmente, il che significa che più macchine più piccole eseguiranno il lavoro per te. È utile per la flessibilità e i dati non strutturati e la memorizzazione nella cache dell'analisi in tempo reale.

Redis è un archivio di strutture di dati NoSQL open source in memoria. Usa coppie chiave-valore per l'archiviazione anziché i documenti.

Installare MySQL

Per installare MySQL su una distribuzione Linux in esecuzione su WSL, seguire le istruzioni Installazione di MySQL su Linux nella documentazione di MySQL. Potrebbe essere necessario prima abilitare il supporto systemd nel file di configurazione wsl.conf.

Esempio che usa la distribuzione Ubuntu:

  1. Aprire la riga di comando di Ubuntu e aggiornare i pacchetti disponibili: sudo apt update
  2. Dopo aver aggiornato i pacchetti, installare MySQL con: sudo apt install mysql-server
  3. Confermare l'installazione e ottenere il numero di versione: mysql --version
  4. Avviare il server MySQL/controllare lo stato: systemctl status mysql
  5. Per aprire il prompt di MySQL, immettere: sudo mysql
  6. Per visualizzare i database disponibili, nel prompt mySQL immettere: SHOW DATABASES;
  7. Per creare un nuovo database, immettere: CREATE DATABASE database_name;
  8. Per eliminare un database, immettere: DROP DATABASE database_name;

Per altre informazioni sull'uso dei database MySQL, vedere la documentazione MySQL.

Per usare i database MySQL in VS Code, provare l'estensione MySQL.

È anche possibile eseguire lo script di sicurezza incluso. Questo modifica alcune delle opzioni predefinite meno sicure per elementi come gli accessi root remoti e gli utenti di prova. Questo script include anche i passaggi per modificare la password per l'utente radice mySQL. Per eseguire lo script di sicurezza:

  1. Avviare un server MySQL: sudo service mysql start
  2. Avvia i prompt degli script di sicurezza: sudo mysql_secure_installation
  3. La prima richiesta chiederà se si vuole configurare IL COMPONENTE VALIDATE PASSWORD, che può essere usato per testare il livello di attendibilità della password MySQL. Se si desidera impostare una password semplice, non è consigliabile impostare questo componente.
  4. Verrà quindi impostata/modificata la password per l'utente radice mySQL, si deciderà se rimuovere o meno utenti anonimi, decidere se consentire all'utente radice di accedere sia in locale che in remoto, decidere se rimuovere il database di test e, infine, decidere se ricaricare immediatamente le tabelle dei privilegi.

Installare PostgreSQL

Per installare PostgreSQL su WSL (ad es. Ubuntu):

  1. Aprire il terminale WSL (ad es. Ubuntu).
  2. Aggiornare i pacchetti Ubuntu: sudo apt update
  3. Dopo aver aggiornato i pacchetti, installare PostgreSQL (e il pacchetto -contrib con alcune utilità utili) con: sudo apt install postgresql postgresql-contrib
  4. Confermare l'installazione e ottenere il numero di versione: psql --version

Dopo l'installazione di PostgreSQL sono necessari 3 comandi:

  • sudo service postgresql status per verificare lo stato del database.
  • sudo service postgresql start per avviare l'esecuzione del database.
  • sudo service postgresql stop per interrompere l'esecuzione del tuo database.

L'utente amministratore predefinito, postgres, richiede una password assegnata per connettersi a un database. Per impostare una password:

  1. Immettere il comando: sudo passwd postgres
  2. Verrà visualizzato un prompt per immettere la nuova password.
  3. Chiudere e riaprire il terminale.

Per eseguire PostgreSQL con shell psql:

  1. Avviare il servizio postgres: sudo service postgresql start
  2. Connettersi al servizio postgres e aprire la shell psql: sudo -u postgres psql

Dopo aver immesso correttamente la shell psql, verrà visualizzata la modifica della riga di comando in modo che abbia un aspetto simile al seguente: postgres=#

Nota

In alternativa, è possibile aprire la shell psql passando all'utente postgres con: su - postgres e quindi immettendo il comando: psql.

Per uscire da postgres=# immettere: \q o usare il tasto di scelta rapida: CTRL+D

Per vedere quali account utente sono stati creati nell'installazione di PostgreSQL, usare dal terminale WSL: psql --command="\du" ... o solo \du se è aperta la shell psql. Questo comando visualizzerà colonne: Nome utente account, Elenco di attributi ruoli e Membro dei gruppi di ruoli. Per tornare alla riga di comando, immettere: q.

Per altre informazioni sull'uso dei database PostgreSQL, vedere la documentazione di PostgreSQL.

Per usare i database PostgreSQL in VS Code, provare l'estensione PostgreSQL.

Installare MongoDB

Per installare MongoDB, vedere la documentazione di Mongodb: Installare MongoDB Community Edition in Linux

L'installazione di MongoDB può richiedere passaggi leggermente diversi a seconda della distribuzione Linux usata per l'installazione. Si noti anche che l'installazione di MongoDB può variare a seconda della versione # che si intende installare. Usa il menu a discesa della versione nell'angolo superiore sinistro della documentazione di MongoDB per selezionare la versione che si allinea al tuo obiettivo. Infine, potrebbe essere necessario abilitare il supporto systemd nel file di configurazione wsl.conf della distribuzione Linux usata con WSL. Il comando systemctl fa parte del sistema systemd init e potrebbe non funzionare se la distribuzione usa systemv.

VS Code supporta l'uso di database MongoDB tramite l'estensione Azure CosmosDB, è possibile creare, gestire ed eseguire query sui database MongoDB dall'interno di VS Code. Per altre informazioni, vedere la documentazione di VS Code: Uso di MongoDB.

Per altre informazioni, vedere la documentazione di MongoDB:

Installare Microsoft SQL Server

Avvio rapido: Installare SQL Server e creare un database nel sottosistema Windows per Linux (WSL 2).

Installare SQLite

Per installare SQLite su WSL (ad es. Ubuntu): Segui questi passaggi:

  1. Aprire il terminale WSL (ad es. Ubuntu).
  2. Aggiornare i pacchetti Ubuntu: sudo apt update
  3. Dopo aver aggiornato i pacchetti, installare SQLite3 con: sudo apt install sqlite3
  4. Confermare l'installazione e ottenere il numero di versione: sqlite3 --version

Per creare un database di test denominato "example.db", immettere: sqlite3 example.db

Per visualizzare un elenco dei database SQLite, immettere: .databases

Per visualizzare lo stato del database, immettere: .dbinfo ?DB?

Il database sarà vuoto dopo la creazione. È possibile creare una nuova tabella per il database con CREATE TABLE empty (kol INTEGER);.

Se si immette il .dbinfo ?DB?, verrà visualizzato il database creato.

Per uscire dal prompt di SQLite, immettere: .exit

Per altre informazioni sull'uso di un database SQLite, vedere la documentazione SQLite.

Per usare i database SQLite in VS Code, provare l'estensione SQLite .

Installare Redis

Per installare Redis su WSL (ad es. Ubuntu):

  1. Aprire il terminale WSL (ad es. Ubuntu).
  2. Aggiornare i pacchetti Ubuntu: sudo apt update
  3. Dopo aver aggiornato i pacchetti, installare Redis con: sudo apt install redis-server
  4. Confermare l'installazione e ottenere il numero di versione: redis-server --version

Per avviare l'esecuzione del server Redis: sudo service redis-server start

Verificare se redis funziona (redis-cli è l'utilità dell'interfaccia della riga di comando per comunicare con Redis): redis-cli ping dovrebbe restituire una risposta di "PONG".

Per interrompere l'esecuzione del server Redis: sudo service redis-server stop

Per altre informazioni sull'uso di un database Redis, vedere la documentazione Redis.

Per usare i database Redis in VS Code, provare l'estensione Redis.

Vedere i servizi in esecuzione e configurare gli alias del profilo

Per visualizzare i servizi attualmente in esecuzione nella distribuzione WSL, immettere: service --status-all

Digitare sudo service mongodb start o sudo service postgres start e sudo -u postgrest psql può diventare noioso. Tuttavia, è possibile configurare gli alias nel file di .profile in WSL per semplificare l'uso e la facilità di memorizzazione di questi comandi.

Per configurare un alias personalizzato o un collegamento per l'esecuzione di questi comandi:

  1. Aprire il terminale WSL e immettere cd ~ per assicurarsi di trovarsi nella directory radice.

  2. Aprire il file .profile, che controlla le impostazioni per il terminale, con l'editor di testo del terminale, Nano: sudo nano .profile

  3. Nella parte inferiore del file (non modificare le impostazioni di # set PATH), aggiungere quanto segue:

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

    In questo modo sarà possibile immettere start-pg per avviare l'esecuzione del servizio postgresql e run-pg per aprire la shell psql. È possibile modificare start-pg e run-pg in qualsiasi nome desiderato, è sufficiente prestare attenzione a non sovrascrivere un comando già usato da postgres.

  4. Dopo aver aggiunto i nuovi alias, uscire dall'editor di testo Nano usando CTRL+X - selezionare Y (Sì) quando viene richiesto di salvare e immettere (lasciando il nome del file come .profile).

  5. Chiudere e riaprire il terminale WSL, quindi provare i nuovi comandi alias.

Risoluzione dei problemi

Errore: directory-sync fdatasync argomento non valido

Assicurarsi di eseguire la distribuzione linux in modalità WSL 2. Per informazioni sul passaggio da WSL 1 a WSL 2, vedere Impostare la versione di distribuzione su WSL 1 o WSL 2.

Risorse aggiuntive