Introduzione ai database nel sottosistema Windows per LinuxGet started with databases on Windows Subsystem for Linux

Questa guida dettagliata consente di iniziare a connettere il progetto in WSL a un database.This step-by-step guide will help you get started connecting your project in WSL to a database. Inizia a usare MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server o SQLite.Get started with MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server, or SQLite.

PrerequisitiPrerequisites

Differenze tra i sistemi di databaseDifferences between database systems

Le scelte più diffuse per un sistema di database includono:The most popular choices for a database system include:

MySQL è un database relazionale SQL open source, che organizza i dati in una o più tabelle in cui i tipi di dati possono essere correlati tra loro.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. È scalabile verticalmente, il che significa che un computer finale eseguirà il lavoro per l'utente.It is vertically scalable, which means one ultimate machine will do the work for you. È attualmente il più diffuso dei quattro sistemi di database.It is currently the most widely used of the four database systems.

PostgreSQL (talvolta definito Postgres) è anche un database relazionale SQL open source con un'enfasi sull'estendibilità e sulla conformità agli standard.PostgreSQL (sometimes referred to as Postgres) is also an open-source SQL relational database with an emphasis on extensibility and standards compliance. Ora può gestire anche JSON, ma in genere è più indicato per dati strutturati, ridimensionamento verticale ed esigenze compatibili con ACID, ad esempio eCommerce e transazioni finanziarie.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 include SQL Server in Windows, SQL Server in Linux e SQL in Azure.Microsoft SQL Server includes SQL Server on Windows, SQL Server on Linux, and SQL on Azure. Si tratta anche di sistemi di gestione di database relazionali impostati nei server con la funzione principale di archiviazione e recupero dei dati richiesti dalle applicazioni software.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 è un database open source autonomo, basato su file e "senza server", noto per la portabilità, l'affidabilità e prestazioni ottimali anche in ambienti a memoria insufficiente.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 è un database di documenti NoSQL open source progettato per funzionare con JSON e archiviare dati privi di schema.MongoDB is an open-source NoSQL document database designed to work with JSON and store schema-free data. È scalabile orizzontalmente, il che significa che più computer più piccoli eseguiranno le operazioni per l'utente.It is horizontally scalable, which means multiple smaller machines will do the work for you. È adatto per la flessibilità e i dati non strutturati e per la memorizzazione nella cache dell'analisi in tempo reale.It's good for flexibility and unstructured data, and caching real-time analytics.

Redis è un archivio di strutture di dati in memoria Open Source NoSQL.Redis is is an open-source NoSQL in-memory data structure store. USA coppie chiave-valore per l'archiviazione anziché i documenti.It uses key-value pairs for storage instead of documents. Redis è noto per la flessibilità, le prestazioni e il supporto del linguaggio Wide.Redis is known for its flexibility, performance, and wide language support. È sufficientemente flessibile da essere utilizzata come cache o broker di messaggi e può utilizzare strutture di dati come elenchi, insiemi e hash.It’s flexible enough to be used as a cache or message broker and can use data structures like lists, sets, and hashes.

Il tipo di database scelto dipende dal tipo di applicazione con cui verrà usato il database.The sort of database you choose should depend on the type of application you will be using the database with. Si consiglia di esaminare i vantaggi e gli svantaggi dei database strutturati e non strutturati e di scegliere in base al caso d'uso.We recommend that you look up the advantages and disadvantages of structured and unstructured databases and choose based on your use case.

Installare MySQLInstall MySQL

Per installare MySQL in WSL (Ubuntu 18,04):To install MySQL on WSL (Ubuntu 18.04):

  1. Aprire il terminale WSL, ad esempio, Ubuntu 18.04.Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aggiornare i pacchetti di Ubuntu: sudo apt updateUpdate your Ubuntu packages: sudo apt update
  3. Dopo che i pacchetti sono stati aggiornati, installare MySQL con: sudo apt install mysql-serverOnce the packages have updated, install MySQL with: sudo apt install mysql-server
  4. Confermare l'installazione e ottenere il numero di versione: mysql --versionConfirm installation and get the version number: mysql --version

Potrebbe anche essere necessario eseguire lo script di sicurezza incluso.You may also want to run the included security script. In questo modo vengono modificate alcune delle opzioni predefinite meno sicure per elementi come gli accessi radice remoti e gli utenti di esempio.This changes some of the less secure default options for things like remote root logins and sample users. Per eseguire lo script di sicurezza:To run the security script:

  1. Avviare un server MySQL: sudo /etc/init.d/mysql startStart a MySQL server: sudo /etc/init.d/mysql start
  2. Avviare le richieste di script di sicurezza: sudo mysql_secure_installationStart the security script prompts: sudo mysql_secure_installation
  3. Il primo prompt chiederà se si vuole configurare il plug-in convalida password, che può essere usato per verificare il livello di attendibilità della password di MySQL.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. Si imposta quindi una password per l'utente root MySQL, si decide se rimuovere o meno gli utenti anonimi, decidere se consentire all'utente root di accedere sia localmente che in remoto, decidere se rimuovere il database di prova e, infine, decidere se ricaricare immediatamente le tabelle dei privilegi.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.

Per aprire il prompt di MySQL, immettere: sudo mysqlTo open the MySQL prompt, enter: sudo mysql

Per visualizzare i database disponibili, nel prompt di MySQL immettere: SHOW DATABASES;To see what databases you have available, in the MySQL prompt, enter: SHOW DATABASES;

Per creare un nuovo database, immettere: CREATE DATABASE database_name;To create a new database, enter: CREATE DATABASE database_name;

Per eliminare un database, immettere: DROP DATABASE database_name;To delete a database, enter: DROP DATABASE database_name;

Per altre informazioni sull'uso dei database MySQL, vedere la documentazione di MySQL.For more about working with MySQL databases, see the MySQL docs.

Per usare i database MySQL in VS Code, provare l' estensione MySQL.To work with with MySQL databases in VS Code, try the MySQL extension.

Installare PostgreSQLInstall PostgreSQL

Per installare PostgreSQL in WSL (Ubuntu 18,04):To install PostgreSQL on WSL (Ubuntu 18.04):

  1. Aprire il terminale WSL, ad esempio, Ubuntu 18.04.Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aggiornare i pacchetti di Ubuntu: sudo apt updateUpdate your Ubuntu packages: sudo apt update
  3. Dopo aver aggiornato i pacchetti, installare PostgreSQL e il pacchetto -contrib, che contiene importanti utilità, con: sudo apt install postgresql postgresql-contribOnce the packages have updated, install PostgreSQL (and the -contrib package which has some helpful utilities) with: sudo apt install postgresql postgresql-contrib
  4. Confermare l'installazione e ottenere il numero di versione: psql --versionConfirm installation and get the version number: psql --version

Dopo l'installazione di PostgreSQL è necessario conoscere tre comandi:There are 3 commands you need to know once PostgreSQL is installed:

  • sudo service postgresql status per verificare lo stato del database.sudo service postgresql status for checking the status of your database.
  • sudo service postgresql start per avviare l'esecuzione del database.sudo service postgresql start to start running your database.
  • sudo service postgresql stop per interrompere l'esecuzione del database.sudo service postgresql stop to stop running your database.

Per consentire la connessione a un database, è necessario assegnare una password all'utente amministratore predefinito, postgres.The default admin user, postgres, needs a password assigned in order to connect to a database. Per impostare una password:To set a password:

  1. Immettere il comando: sudo passwd postgresEnter the command: sudo passwd postgres
  2. Verrà richiesto di immettere la nuova password.You will get a prompt to enter your new password.
  3. Chiudere e riaprire il terminale.Close and reopen your terminal.

Per eseguire PostgreSQL con la shell PSQL :To run PostgreSQL with psql shell:

  1. Avviare il servizio Postgres: sudo service postgresql startStart your postgres service: sudo service postgresql start
  2. Connettersi al servizio Postgres e aprire la shell psql: sudo -u postgres psqlConnect to the postgres service and open the psql shell: sudo -u postgres psql

Dopo aver immesso correttamente la shell psql, la modifica della riga di comando avrà un aspetto simile al seguente: postgres=#Once you have successfully entered the psql shell, you will see your command line change to look like this: postgres=#

Nota

In alternativa, è possibile aprire la shell psql passando all'utente di Postgres con: su - postgres e quindi immettendo il comando: psql.Alternatively, you can open the psql shell by switching to the postgres user with: su - postgres and then entering the command: psql.

Per uscire da Postgres = # invio: \q oppure usare il tasto di scelta rapida: CTRL + DTo exit postgres=# enter: \q or use the shortcut key: Ctrl+D

Per visualizzare gli account utente creati nell'installazione di PostgreSQL, nel terminale WSL usare: psql -c "\du"... oppure solo \du se la shell psql è aperta.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. Questo comando visualizzerà le colonne: nome utente account, elenco degli attributi dei ruoli e membro dei gruppi di ruoli.This command will display columns: Account User Name, List of Roles Attributes, and Member of role group(s). Per tornare alla riga di comando, immettere: q.To exit back to the command line, enter: q.

Per altre informazioni sull'uso dei database PostgreSQL, vedere la documentazione di PostgreSQL.For more about working with PostgreSQL databases, see the PostgreSQL docs.

Per usare i database PostgreSQL in VS Code, provare l' estensione PostgreSQL.To work with with PostgreSQL databases in VS Code, try the PostgreSQL extension.

Installare MongoDBInstall MongoDB

Per installare MongoDB in WSL (Ubuntu 18,04):To install MongoDB on WSL (Ubuntu 18.04):

  1. Aprire il terminale WSL, ad esempio, Ubuntu 18.04.Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aggiornare i pacchetti di Ubuntu: sudo apt updateUpdate your Ubuntu packages: sudo apt update
  3. Dopo aver aggiornato i pacchetti, installare MongoDB con: sudo apt-get install mongodbOnce the packages have updated, install MongoDB with: sudo apt-get install mongodb
  4. Confermare l'installazione e ottenere il numero di versione: mongod --versionConfirm installation and get the version number: mongod --version

Dopo l'installazione di MongoDB è necessario conoscere tre comandi:There are 3 commands you need to know once MongoDB is installed:

  • sudo service mongodb status per verificare lo stato del database.sudo service mongodb status for checking the status of your database.
  • sudo service mongodb start per avviare l'esecuzione del database.sudo service mongodb start to start running your database.
  • sudo service mongodb stop per interrompere l'esecuzione del database.sudo service mongodb stop to stop running your database.

Nota

È possibile che il comando sudo systemctl status mongodb venga usato nelle esercitazioni o negli articoli.You might see the command sudo systemctl status mongodb used in tutorials or articles. Per semplicità, WSL non include systemd, un sistema di gestione dei servizi in Linux.In order to remain lightweight, WSL does not include systemd (a service management system in Linux). Usa invece SysVinit per avviare i servizi nel computer.Instead, it uses SysVinit to start services on your machine. Non dovrebbero esserci differenze, ma se un'esercitazione consiglia di usare sudo systemctl, usare invece: sudo /etc/init.d/.You shouldn't notice a difference, but if a tutorial recommends using sudo systemctl, instead use: sudo /etc/init.d/. Ad esempio, sudo systemctl status mongodb, per WSL sarebbe sudo /etc/inid.d/mongodb status... in alternativa, è anche possibile usare sudo service mongodb status.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.

Per eseguire il database Mongo in un server locale:To run your Mongo database in a local server:

  1. Verificare lo stato del database: sudo service mongodb status verrà visualizzata una risposta [FAIL], a meno che non sia già stato avviato il database.Check the status of your database: sudo service mongodb status You should see a [Fail] response, unless you've already started your database.

  2. Avviare il database: sudo service mongodb start verrà ora visualizzata una risposta [OK].Start your database: sudo service mongodb start You should now see an [OK] response.

  3. Verificare connettendosi al server di database ed eseguendo un comando di diagnostica: mongo --eval 'db.runCommand({ connectionStatus: 1 })' verrà restituita la versione del database corrente, l'indirizzo del server e la porta e l'output del comando di stato.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. Il valore 1 per il campo "ok" nella risposta indica che il server funziona.A value of 1 for the "ok" field in the response indicates that the server is working.

  4. Per arrestare l'esecuzione del servizio MongoDB, immettere: sudo service mongodb stopTo stop your MongoDB service from running, enter: sudo service mongodb stop

Nota

MongoDB ha diversi parametri predefiniti, tra cui l'archiviazione dei dati in /data/DB e l'esecuzione sulla porta 27017.MongoDB has several default parameters, including storing data in /data/db and running on port 27017. Inoltre, mongod è il daemon, ovvero il processo host per il database, e mongo è la shell della riga di comando che si connette a un'istanza specifica di mongod.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 supporta l'uso di database MongoDB tramite l' estensione CosmosDB di Azure, è possibile creare, gestire ed eseguire query sui database MongoDB dall'interno di vs code.VS Code supports working with MongoDB databases via the Azure CosmosDB extension, you can create, manage and query MongoDB databases from within VS Code. Per altre informazioni, visitare il VS Code docs: uso di MongoDB.To learn more, visit the VS Code docs: Working with MongoDB.

Per altre informazioni, vedere la documentazione di MongoDB:Learn more in the MongoDB docs:

Installare Microsoft SQL ServerInstall Microsoft SQL Server

Per installare SQL Server in WSL (Ubuntu 18,04), seguire questa Guida introduttiva: installare SQL Server e creare un database in Ubuntu.To install SQL Server on WSL (Ubuntu 18.04), follow this quickstart: Install SQL Server and create a database on Ubuntu.

Per usare i database di Microsoft SQL Server in VS Code, provare l' estensione MSSQL.To work with Microsoft SQL Server databases in VS Code, try the MSSQL extension.

Installare SQLiteInstall SQLite

Per installare SQLite in WSL (Ubuntu 18,04):To install SQLite on WSL (Ubuntu 18.04):

  1. Aprire il terminale WSL, ad esempio, Ubuntu 18.04.Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aggiornare i pacchetti di Ubuntu: sudo apt updateUpdate your Ubuntu packages: sudo apt update
  3. Una volta aggiornati i pacchetti, installare SQLite3 con: sudo apt install sqlite3Once the packages have updated, install SQLite3 with: sudo apt install sqlite3
  4. Confermare l'installazione e ottenere il numero di versione: sqlite3 --versionConfirm installation and get the version number: sqlite3 --version

Per creare un database di prova, denominato "example. DB", immettere: sqlite3 example.dbTo create a test database, called "example.db", enter: sqlite3 example.db

Per visualizzare un elenco dei database SQLite, immettere: .databasesTo see a list of your SQLite databases, enter: .databases

Per visualizzare lo stato del database, immettere: .dbinfo ?DB?To see the status of your database, enter: .dbinfo ?DB?

Per uscire dal prompt di SQLite, immettere: .exitTo exit the SQLite prompt, enter: .exit

Per ulteriori informazioni sull'utilizzo di un database SQLite, vedere la documentazione di SQLite.For more information about working with a SQLite database, see the SQLite docs.

Per usare i database SQLite in VS Code, provare l' estensione SQLite.To work with SQLite databases in VS Code, try the SQLite extension.

Installare RedisInstall Redis

Per installare Redis in WSL (Ubuntu 18,04):To install Redis on WSL (Ubuntu 18.04):

  1. Aprire il terminale WSL, ad esempio, Ubuntu 18.04.Open your WSL terminal (ie. Ubuntu 18.04).
  2. Aggiornare i pacchetti di Ubuntu: sudo apt updateUpdate your Ubuntu packages: sudo apt update
  3. Una volta aggiornati i pacchetti, installare Redis con: sudo apt install redis-serverOnce the packages have updated, install Redis with: sudo apt install redis-server
  4. Confermare l'installazione e ottenere il numero di versione: redis-server --versionConfirm installation and get the version number: redis-server --version

Per iniziare a eseguire il server redis: sudo service redis-server startTo start running your Redis server: sudo service redis-server start

Controllare se Redis è funzionante (Redis-CLI è l'utilità dell'interfaccia della riga di comando per comunicare con Redis): redis-cli ping dovrebbe restituire una risposta di "pong".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".

Per arrestare l'esecuzione del server redis: sudo service redis-server stopTo stop running your Redis server: sudo service redis-server stop

Per altre informazioni sull'uso di un database Redis, vedere la documentazione di redis.For more information about working with a Redis database, see the Redis docs.

Per usare i database Redis in VS Code, provare l' estensione Redis.To work with Redis databases in VS Code, try the Redis extension.

Vedere i servizi in esecuzione e configurare gli alias del profiloSee services running and set up profile aliases

Per visualizzare i servizi attualmente in esecuzione nella distribuzione di WSL, immettere: service --status-allTo see the services that you currently have running on your WSL distribution, enter: service --status-all

Digitare sudo service mongodb start o sudo service postgres start e sudo -u postgrest psql può essere noioso.Typing out sudo service mongodb start or sudo service postgres start and sudo -u postgrest psql can get tedious. Tuttavia, è possibile provare a configurare gli alias nel file .profile in WSL per fare in modo che questi comandi siano più rapidi da usare e più facili da ricordare.However, you could consider setting up aliases in your .profile file on WSL to make these commands quicker to use and easier to remember.

Per configurare un alias personalizzato, o una scelta rapida da tastiera, per eseguire questi comandi:To set up your own custom alias, or shortcut, for executing these commands:

  1. Aprire il terminale WSL e immettere cd ~ per assicurarsi di essere nella directory radice.Open your WSL terminal and enter cd ~ to be sure you're in the root directory.

  2. Aprire il file .profile, che controlla le impostazioni per il terminale, con l'editor di testo del terminale, Nano: sudo nano .profileOpen the .profile file, which controls the settings for your terminal, with the terminal text editor, Nano: sudo nano .profile

  3. Nella parte inferiore del file non modificare le impostazioni # set PATH e aggiungere quanto segue: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'
    

    Questo consentirà di immettere start-pg per avviare l'esecuzione del servizio PostgreSQL e run-pg per aprire la shell psql.This will allow you to enter start-pg to start running the postgresql service and run-pg to open the psql shell. È possibile modificare start-pg e run-pg inserendo i nomi desiderati. In questa operazione, prestare attenzione a non sovrascrivere un comando già usato da Postgres.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. Dopo aver aggiunto i nuovi alias, chiudere l'editor di testo Nano usando CTRL+X, selezionare Y (Sì) quando viene richiesto di salvare e premere INVIO, lasciando il nome del file .profile.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. Chiudere e riaprire il terminale WSL, quindi provare a usare i nuovi comandi alias.Close and re-open your WSL terminal, then try your new alias commands.

Risorse aggiuntiveAdditional resources