Partager via


Prise en main des bases de données sur le sous-système Windows pour Linux

Ce guide pas à pas vous aidera à commencer à connecter votre projet dans WSL à une base de données. Prise en main de MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server ou SQLite.

Conditions préalables

Différences entre les systèmes de base de données

Voici quelques choix populaires pour un système de base de données :

MySQL est une base de données relationnelle SQL open source, organisant les données dans une ou plusieurs tables dans lesquelles les types de données peuvent être liés les uns aux autres. Il est évolutif verticalement, ce qui signifie qu’une machine ultime fera le travail pour vous. Il est actuellement le plus largement utilisé des quatre systèmes de base de données.

PostgreSQL (parfois appelé Postgres) est également une base de données relationnelle SQL open source qui met l’accent sur l’extensibilité et la conformité aux normes. Il peut également gérer JSON, mais il est généralement préférable pour les données structurées, la mise à l’échelle verticale et les besoins compatibles ACID comme e Commerce électronique et transactions financières.

Microsoft SQL Server inclut SQL Server sur Windows, SQL Server sur Linux et SQL sur Azure. Il s’agit également de systèmes de gestion de base de données relationnelle configurés sur des serveurs avec la fonction principale de stockage et de récupération des données demandées par les applications logicielles.

SQLite est une base de données « serverless » open source autonome, basée sur des fichiers, connue pour sa portabilité, sa fiabilité et de bonnes performances, même dans les environnements à mémoire faible.

MongoDB est une base de données de documents NoSQL open source conçue pour fonctionner avec JSON et stocker des données sans schéma. Il est évolutif horizontalement, ce qui signifie que plusieurs machines plus petites feront le travail pour vous. Il est utile pour la flexibilité, les données non structurées, et la mise en cache de l'analyse de données en temps réel.

Redis est un magasin de structures de données noSQL en mémoire open source. Il utilise des paires clé-valeur pour le stockage au lieu de documents.

Installer MySQL

Pour installer MySQL sur une distribution Linux exécutée sur WSL, suivez simplement les instructions d’installation de MySQL sur Linux dans la documentation MySQL. Vous devrez peut-être activer la prise en charge système dans votre wsl.conf fichier de configuration.

Exemple utilisant la distribution Ubuntu :

  1. Ouvrez votre ligne de commande Ubuntu et mettez à jour les packages disponibles :

    sudo apt update
    
  2. Une fois les packages mis à jour, installez MySQL avec :

    sudo apt install mysql-server
    
  3. Confirmez l’installation et obtenez le numéro de version :

    mysql --version
    
  4. Démarrez MySQL Server / vérifiez l’état :

    systemctl status mysql
    
  5. Pour ouvrir l’invite MySQL, entrez :

    sudo mysql
    
  6. Pour voir les bases de données disponibles, dans l’invite MySQL, entrez :

    SHOW DATABASES;
    
  7. Pour créer une base de données, entrez :

    CREATE DATABASE database_name;
    
  8. Pour supprimer une base de données, entrez :

    DROP DATABASE database_name;
    

Pour plus d’informations sur l’utilisation des bases de données MySQL, consultez la documentation MySQL.

Pour utiliser des bases de données MySQL dans VS Code, essayez l’extension MySQL.

Vous pouvez également exécuter le script de sécurité inclus. Cela modifie certaines des options par défaut peu sécurisées pour des éléments tels que les connexions au compte root à distance et les comptes utilisateurs d'exemple. Ce script inclut également les étapes de modification du mot de passe pour l’utilisateur racine MySQL. Pour exécuter le script de sécurité :

  1. Démarrez un serveur MySQL :

    sudo service mysql start
    
  2. Lancez les scripts de sécurité :

    sudo mysql_secure_installation
    
  3. La première invite vous demande si vous souhaitez configurer le COMPOSANT VALIDATE PASSWORD, qui peut être utilisé pour tester la force de votre mot de passe MySQL. Si vous souhaitez définir un mot de passe simple, vous ne devez pas définir ce composant.

  4. Vous allez ensuite définir/modifier le mot de passe de l’utilisateur racine MySQL, décider s’il faut supprimer des utilisateurs anonymes, décider s’il faut autoriser l’utilisateur racine à se connecter localement et à distance, décider s’il faut supprimer la base de données de test et, enfin, décider de recharger les tables de privilèges immédiatement.

Installer PostgreSQL

Pour installer PostgreSQL sur WSL (par exemple. Ubuntu :

  1. Ouvrez votre terminal WSL (par exemple. Ubuntu).

  2. Mettez à jour vos packages Ubuntu :

    sudo apt update
    
  3. Une fois les packages mis à jour, installez PostgreSQL (et le package Contrib PostgreSQL qui a quelques utilitaires utiles) avec :

    sudo apt install postgresql postgresql-contrib
    
  4. Confirmez l’installation et obtenez le numéro de version :

    psql --version
    

Vous devez connaître 3 commandes une fois PostgreSQL installé :

  • Vérifier l’état de la base de données

    sudo service postgresql status
    
  • Démarrer la base de données

    sudo service postgresql start
    
  • Arrêter la base de données

    sudo service postgresql stop
    

L’utilisateur administrateur par défaut a postgresbesoin d’un mot de passe affecté pour se connecter à une base de données. Pour définir un mot de passe :

  1. Entrez la commande :

    sudo passwd postgres
    
  2. Vous recevrez une invite pour entrer votre nouveau mot de passe.

  3. Fermez et rouvrez votre terminal.

Pour exécuter PostgreSQL avec l’interpréteur psql de commandes :

  1. Démarrez votre service postgres :

    sudo service postgresql start
    
  2. Connectez-vous au service postgres et ouvrez l’interpréteur de commandes psql :

    sudo -u postgres psql
    

Une fois que vous avez entré l’interpréteur de commandes psql, vous verrez que votre ligne de commande change pour ressembler à ceci :

postgres=#

Remarque

Vous pouvez également ouvrir l’interpréteur de commandes psql en basculant vers l’utilisateur postgres avec : su - postgres puis en entrant la commande : psql.

Pour quitter postgres=# entrée : \q ou utilisez la touche de raccourci : Ctrl+D

Pour voir quels comptes d’utilisateur ont été créés sur votre installation PostgreSQL, utilisez votre terminal WSL : psql --command="\du" ... ou simplement \du si vous avez ouvert l’interpréteur de commandes psql. Cette commande affiche les colonnes : Nom d’utilisateur du compte, Liste des attributs de rôles et Membre du ou des groupes de rôles. Pour revenir à la ligne de commande, entrez : q.

Pour plus d’informations sur l’utilisation des bases de données PostgreSQL, consultez la documentation PostgreSQL.

Pour utiliser des bases de données PostgreSQL dans VS Code, essayez l’extension PostgreSQL.

Installer MongoDB

Pour installer MongoDB, consultez la documentation Mongodb : Installer MongoDB Community Edition sur Linux

L’installation de MongoDB peut nécessiter des étapes légèrement différentes en fonction de la distribution Linux utilisée pour l’installation. Notez également que l’installation de MongoDB peut différer selon la version # que vous souhaitez installer. Utilisez la liste déroulante de version dans le coin supérieur gauche de la documentation MongoDB pour sélectionner la version qui s’aligne sur votre objectif. Enfin, vous devrez peut-être activer la prise en charge système dans le wsl.conf fichier de configuration de la distribution Linux que vous utilisez avec WSL. La systemctl commande fait partie du système d’init système et peut ne pas fonctionner si votre distribution utilise systemv.

VS Code prend en charge l’utilisation de bases de données MongoDB via l’extension Azure CosmosDB, vous pouvez créer, gérer et interroger des bases de données MongoDB à partir de VS Code. Pour en savoir plus, consultez la documentation VS Code : Utilisation de MongoDB.

Pour en savoir plus, consultez la documentation MongoDB :

Installer Microsoft SQL Server

Démarrage rapide : Installez SQL Server et créez une base de données sur le sous-système Windows pour Linux (WSL 2).

Installer SQLite

Pour installer SQLite sur WSL (par exemple. Ubuntu :

  1. Ouvrez votre terminal WSL (par exemple. Ubuntu).

  2. Mettez à jour vos packages Ubuntu :

    sudo apt update
    
  3. Une fois les packages mis à jour, installez SQLite3 avec :

    sudo apt install sqlite3
    
  4. Confirmez l’installation et obtenez le numéro de version :

    sqlite3 --version
    

Pour créer une base de données de test, appelée « example.db », entrez :

sqlite3 example.db

Pour afficher la liste de vos bases de données SQLite, entrez : .databases

Pour afficher l’état de votre base de données, entrez : .dbinfo ?DB?

La base de données est vide après la création. Vous pouvez créer une table pour votre base de données avec CREATE TABLE empty (kol INTEGER);.

À présent, entrer dans .dbinfo ?DB? affichera la base de données que vous avez créée.

Pour quitter l’invite SQLite, entrez : .exit

Pour plus d’informations sur l’utilisation d’une base de données SQLite, consultez la documentation SQLite.

Pour utiliser des bases de données SQLite dans VS Code, essayez l’extension SQLite.

Installer Redis

Pour installer Redis sur WSL (par exemple. Ubuntu :

  1. Ouvrez votre terminal WSL (par exemple. Ubuntu).

  2. Mettez à jour vos packages Ubuntu :

    sudo apt update
    
  3. Une fois les packages mis à jour, installez Redis avec :

    sudo apt install redis-server
    
  4. Confirmez l’installation et obtenez le numéro de version :

    redis-server --version
    

Pour commencer à exécuter votre serveur Redis :

sudo service redis-server start

Vérifiez si redis fonctionne (redis-cli est l’utilitaire d’interface de ligne de commande pour communiquer avec Redis) :

redis-cli ping

Cela doit renvoyer une réponse de « PONG ».

Pour arrêter l’exécution de votre serveur Redis :

sudo service redis-server stop

Pour plus d’informations sur l’utilisation d’une base de données Redis, consultez la documentation Redis.

Pour utiliser des bases de données Redis dans VS Code, essayez l’extension Redis.

Voir les services en cours d’exécution et configurer des alias de profil

Pour voir les services en cours d'exécution sur votre distribution WSL, tapez :

service --status-all

Taper sudo service mongodb start ou sudo service postgres start et sudo -u postgrest psql peut devenir fastidieux. Toutefois, vous pouvez envisager de configurer des alias dans votre .profile fichier sur WSL afin de rendre ces commandes plus rapides à utiliser et plus faciles à mémoriser.

Pour configurer votre propre alias personnalisé ou raccourci, pour exécuter ces commandes :

  1. Ouvrez votre terminal WSL et entrez cd ~ pour vous assurer que vous êtes dans le répertoire racine.

  2. Ouvrez le .profile fichier, qui contrôle les paramètres de votre terminal, avec l’éditeur de texte du terminal, Nano :

    sudo nano .profile
    
  3. En bas du fichier (ne modifiez pas les # set PATH paramètres), ajoutez les éléments suivants :

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

    Cela vous permet d’entrer start-pg pour commencer à exécuter le service postgresql et run-pg à ouvrir l’interpréteur de commandes psql. Vous pouvez changer start-pg et run-pg à tous les noms souhaités, veillez simplement à ne pas remplacer une commande que postgres utilise déjà !

  4. Une fois que vous avez ajouté vos nouveaux alias, quittez l’éditeur de texte Nano à l’aide de Ctrl+X . Sélectionnez Y (Oui) lorsque vous êtes invité à enregistrer et entrer (en laissant le nom du fichier en tant que .profile).

  5. Fermez et rouvrez votre terminal WSL, puis essayez vos nouvelles commandes d’alias.

Résolution des problèmes

Erreur : argument fdatasync directory-sync non valide

Vérifiez que vous exécutez votre distribution Linux en mode WSL 2. Pour obtenir de l’aide sur le passage de WSL 1 à WSL 2, consultez Définir votre version de distribution sur WSL 1 ou WSL 2.

Ressources supplémentaires