Fermer

janvier 28, 2020

Comment installer MySQL –


Presque toutes les applications Web nécessitent un stockage de données sur serveur, et MySQL continue d'être la solution de base de données la plus utilisée . Cet article présente diverses options d'utilisation de MySQL sur votre système local pendant le développement.

MySQL est une base de données relationnelle open source gratuite. MariaDB est un fork de la base de données créée en 2010 suite aux inquiétudes concernant l'acquisition d'Oracle de MySQL. (Il est fonctionnellement identique, donc la plupart des concepts décrits dans cet article s'appliquent également à MariaDB.)

Alors que les bases de données NoSQL ont fait un bond ces dernières années, les données relationnelles sont généralement plus pratiques pour la majorité des applications. Cela dit, MySQL prend également en charge les structures de données de type NoSQL telles que les champs JSON afin que vous puissiez profiter des avantages des deux mondes.

Les sections suivantes examinent trois façons principales d'utiliser MySQL dans votre environnement de développement local:

  1. solutions basées sur le cloud
  2. utilisant des conteneurs Docker
  3. installant sur votre PC.

Cet article populaire a été mis à jour en 2020 pour refléter avec précision le processus actuel d'installation de MySQL.

MySQL basé sur le cloud [1965901010] ] Les services MySQL sont proposés par AWS, Azure, Google Cloud, Oracle et de nombreux autres services d'hébergement spécialisés. Même les hôtes partagés à faible coût proposent MySQL avec des connexions HTTPS ou SSH tunnelées à distance. Vous pouvez donc utiliser une base de données MySQL à distance en développement local. Les avantages:

  • aucun logiciel de base de données pour installer ou gérer
  • votre environnement de production peut utiliser le même système
  • plus d'un développeur peut facilement accéder aux mêmes données
  • il est idéal pour ceux qui utilisent des IDE basés sur le cloud ou des périphériques de plus faible spécification tels que les Chromebooks
  • des fonctionnalités telles que la mise à l'échelle automatique, la réplication, le partitionnement et les sauvegardes peuvent être inclus.

Les inconvénients:

  • la configuration peut encore prendre un temps considérable
  • bibliothèques et processus de connexion peut être subtilement différent d'un hôte à l'autre
  • l'expérimentation est plus risquée; tout développeur peut accidentellement effacer ou modifier la base de données
  • le développement s'arrêtera si vous n'avez pas de connexion Internet
  • il peut y avoir des coûts d'utilisation alléchants.

Une option basée sur le cloud peut être pratique pour ceux qui ont des exigences minimales de base de données ou de grandes équipes travaillant sur les mêmes ensembles de données complexes.

Exécuter MySQL à l'aide de Docker

Docker est une plate-forme qui vous permet de créer, partager et exécuter des applications dans des conteneurs . Considérez un conteneur comme une machine virtuelle isolée avec son propre système d'exploitation, ses bibliothèques et les fichiers d'application. (En réalité, les conteneurs sont des processus légers qui partagent des ressources sur l'hôte.)

Une image Docker est un instantané d'un système de fichiers qui peut être exécuté en tant que conteneur. Le Docker Hub fournit une large gamme d'images pour des applications populaires et des bases de données, notamment MySQL et MariaDB . Les avantages:

  • tous les développeurs peuvent utiliser la même image Docker sur macOS, Linux et Windows
  • La configuration et la maintenance de l'installation MySQL sont minimes
  • la même image de base peut être utilisée dans les environnements de développement et de production
  • développeurs

Docker dépasse le cadre de cet article, mais les points clés à noter:

  • Docker est une application client-serveur. Le serveur est responsable de la gestion des images et des conteneurs et peut être contrôlé via une API REST à l'aide de l'interface de ligne de commande. Vous pouvez donc exécuter le démon serveur n'importe où et vous y connecter à partir d'une autre machine.
  • Des conteneurs distincts doivent être utilisés pour chaque technologie requise par votre application Web. Par exemple, votre application peut utiliser trois conteneurs: un serveur Web Apache compatible PHP, une base de données MySQL et un moteur Elasticsearch.
  • Par défaut, les conteneurs ne conservent pas l'état. Les données enregistrées dans un fichier ou une base de données seront perdues lors du prochain redémarrage du conteneur. La persistance est implémentée en montant un volume sur l'hôte.
  • Chaque conteneur peut communiquer avec les autres dans son propre réseau isolé. Des ports spécifiques peuvent être exposés à la machine hôte si nécessaire.
  • Une édition commerciale et d'entreprise de Docker est disponible. Cet article fait référence à l'édition communautaire open source, mais les mêmes techniques s'appliquent.

Installer Docker

Les instructions pour installer la dernière version de Docker sur Linux sont disponibles sur Docker Docs . Vous pouvez également utiliser des référentiels officiels, bien que ceux-ci soient susceptibles d'avoir des éditions plus anciennes. Par exemple, sur Ubuntu:

 sudo apt-get update
sudo apt-get supprimer docker docker-engine docker.io
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

L'installation variera selon les autres éditions de Linux, alors recherchez sur le Web les instructions appropriées.

Docker CE Desktop pour macOS Sierra 10.12 et supérieur et Docker CE Desktop pour Windows 10 Professional sont disponibles sous forme de packages installables. Vous devez vous enregistrer sur Docker Hub et vous connecter pour télécharger.

Docker sur Windows 10 utilise la plate-forme de virtualisation Hyper-V, que vous pouvez activer à partir de Activer ou désactiver les fonctionnalités Windows accessible depuis Programmes et fonctionnalités dans le Panneau de configuration. Docker peut également utiliser le sous-système Windows pour Linux 2 (WSL2 – actuellement en version bêta).

Pour garantir que Docker peut accéder au système de fichiers Windows, choisissez Paramètres dans le menu d'icônes de la barre d'état Docker, accédez à Volet Shared Drives et vérifiez les lecteurs que le serveur est autorisé à utiliser.

 Docker a partagé des lecteurs sur Windows

Vérifiez que Docker a bien installé en entrant version docker à votre invite de commandes. Facultativement, essayez docker exécutez hello-world pour vérifier que Docker peut extraire des images et démarrer des conteneurs comme prévu.

Exécutez un conteneur MySQL

Pour faciliter la communication des conteneurs Docker, créez un réseau ponté nommé dbnet ou le nom que vous préférez (cette étape peut être ignorée si vous voulez simplement accéder à MySQL à partir du périphérique hôte) :

 docker network create --driver bridge dbnet

Créez maintenant un dossier data sur votre système où les tables MySQL seront stockées – comme mkdir data .

Le plus récent serveur MySQL 8 peut maintenant être lancé avec:

 docker run -d --rm --name mysql --net dbnet -p 3306: 3306 -e MYSQL_ROOT_PASSWORD = mysecret -v $ PWD / data: / var / lib / mysql mysql: 8

Arguments utilisés:

  • -d exécute le conteneur en tant que service d'arrière-plan.
  • - rm supprime le conteneur lorsqu'il cesse de fonctionner.
  • ] - nom mysql attribue un nom de mysql au conteneur pour une gestion plus facile.
  • -p 3306: 3306 transfère le port de conteneur à l'hôte. Si vous souhaitez utiliser le port 3307 sur l'hôte, vous devez spécifier -p 3307: 3306 .
  • -e définit une variable d'environnement, dans ce Dans le cas où le mot de passe utilisateur root MySQL par défaut est défini sur mysecret .
  • -v monte un volume de sorte que le / var / lib / mysql dossier de données MySQL dans le conteneur sera stocké dans le sous-dossier data du dossier actuel sur l'hôte.

$ PWD est le dossier actuel, mais cela ne fonctionne que sur macOS et Linux. Les utilisateurs de Windows doivent spécifier le chemin complet en utilisant la notation barre oblique – telle que / c / mysql / data .

La première fois que vous exécutez cette commande, MySQL prendra plusieurs minutes pour démarrer car l'image Docker est téléchargé et le conteneur MySQL est configuré. Les redémarrages suivants seront instantanés, en supposant que vous ne supprimez pas ou ne modifiez pas l'image d'origine. Vous pouvez vérifier la progression à tout moment à l'aide de:

 docker logs mysql

Utilisation de l'outil de ligne de commande Container MySQL

Une fois démarré, ouvrez un shell bash sur le conteneur MySQL en utilisant:

 docker exec -it mysql bash

Connectez-vous ensuite au serveur MySQL en tant qu'utilisateur root:

 mysql -u root -pmysecret

-p est suivi du mot de passe défini dans l'argument Docker -e illustré ci-dessus. N'ajoutez pas d'espace!

Toutes les commandes MySQL peuvent maintenant être utilisées – telles que show databases; create database new; et ainsi de suite.

Utilisez un MySQL client

Toute application cliente MySQL peut se connecter au serveur sur le port 3306 de la machine hôte.

Si vous n'avez pas de client MySQL installé, Adminer est un outil de gestion de base de données PHP léger qui peut également être exécuté en tant que conteneur Docker!

 docker run -d --rm --name adminer --net dbnet -p 8080: 8080 adminer

Une fois démarré, ouvrez http: // localhost: 8080 dans votre navigateur et entrez mysql comme nom de serveur, root root comme nom d'utilisateur, et mysecret comme mot de passe:

 Adminer

Les bases de données, les utilisateurs, les tables et les paramètres associés peuvent maintenant être ajoutés, modifiés ou supprimés.

Arrêter les conteneurs Docker

] Les conteneurs peuvent être arrêtés (et supprimés automatiquement) avec la commande docker stop suivie d'un ou plusieurs noms de conteneur. Par exemple:

 docker stop admin mysql

Les images et les conteneurs Docker sont légers par rapport aux machines virtuelles, mais vous pouvez effacer toutes les données en utilisant:

 docker system prune -a
docker volume prune

Utilisation de docker-compose pour gérer les conteneurs

docker-compose peut gérer n'importe quel nombre de conteneurs sans que vous ayez à entrer de longues commandes Docker. Créez un fichier docker-compose.yml dans votre dossier actuel:

 version: '3.7'

prestations de service:

  mysql:
    environnement:
      - MYSQL_ROOT_PASSWORD = mysecret
    image: mysql: 8
    nom_conteneur: mysql
    volumes:
      - ./data:/var/lib/mysql
    réseaux:
      - dbnet
    ports:
      - "3306: 3306"

  administrateur:
    image: administrateur
    nom_conteneur: administrateur
    dépend de:
      - mysql
    réseaux:
      - dbnet
    ports:
      - "8080: 8080"

réseaux:
  dbnet:

Puis exécutez:

 docker-compose up

Les conteneurs MySQL et Adminer sont lancés avec les mêmes configurations que celles utilisées ci-dessus. Appuyez sur Ctrl + C pour arrêter et supprimer les conteneurs.

Exécutez MySQL sur votre système d'exploitation

L'installation de MySQL sur votre machine de développement local peut être pratique si vous souhaitez utiliser un

Packages tout-en-un

Il existe d'excellentes distributions macOS, Linux et Windows tout-en-un qui contiennent Apache, PHP, MySQL, phpAdmin, certificats SSL, frameworks et autres applications dans un seul package d'installation. Les options incluent:

La plupart sont idéales pour les configurations de développement PHP et MySQL rapides et peuvent offrir plusieurs éditions de chaque service. Cependant:

  • Les mises à jour ne sont pas garanties. De nombreux packages proposent toujours des éditions plus anciennes de MySQL.
  • Les développeurs utilisant différents systèmes d'exploitation ou configurations de réglages peuvent introduire des problèmes de compatibilité dans les bases de code partagées.
  • Les environnements de développement et de production peuvent être considérablement différents.

Les packages tout-en-un sont les meilleurs pour les projets avec un seul programmeur ou ceux qui sont nouveaux dans le développement web.

Installer MySQL sur Linux

Il existe de nombreuses façons d'installer MySQL sur une variété de distributions Linux:

  • Certaines distributions comme Ubuntu Server fournissent MySQL par défaut.
  • La documentation officielle fournit des détails sur l'installation à l'aide des gestionnaires de packages APT, Yum et SLES ainsi que des packages RPM et Debian.
  • Différentes versions de MySQL sont disponibles à partir du snap store .

Installer MySQL sur macOS

MySQL peut être installé sur macOS 10.13 et supérieur en téléchargeant le programme d'installation natif du package .dmg image disque. Double-cliquez pour monter l'image puis double-cliquez sur le fichier .pkg pour démarrer l'assistant d'installation .

Si vous choisissez de ne pas démarrer MySQL automatiquement, il peut être démarré à partir de l'icône dans le volet Préférences système:

 MySQL dans les préférences système de macOS

Il est également possible d'installer MySQL sur macOS en utilisant:

Installer MySQL sur Windows

MySQL peut être installé sur les éditions 64 bits de Windows 10 et Windows 2012 Server R2 et supérieur. Vous avez également besoin des environnements d'exécution suivants:

Le programme d'installation MSI fournit le serveur ainsi que des outils tels que MySQL Workbench. (Le plus petit «Web» programme d'installation MSI télécharge les packages lorsqu'il est sélectionné.)

Double-cliquez sur le fichier MSI pour lancer l'assistant d'installation et reportez-vous à la documentation MySQL pour une configuration spécifique

Par défaut:

  • les programmes binaires et la documentation sont installés sur % PROGRAMFILES% MySQL MySQL Server Vv (par exemple C: Program Files MySQL MySQL Server 8.0 )
  • les données de la base de données sont stockées dans % PROGRAMDATA% MySQL MySQL Server Vv (par exemple C: ProgramData MySQL MySQL Server 8.0 ) [19659016] Une archive ZIP sans installation est également disponible . Cela peut être copié sur une clé USB ou n'importe où sur un système Windows.

    Tout d'abord, extrayez le contenu du ZIP dans C: mysql ou dans un dossier de votre choix.

    Créez ensuite un fichier dossier où seront stockées les données de la base de données, tel que C: mysqldata . L'utilisation d'un dossier en dehors de C: mysql est plus sûre et vous permet de mettre à niveau les fichiers d'application.

    Créez maintenant un fichier my.ini dans C: mysql qui spécifie l'application et les dossiers de données. par exemple:

    [mysqld]
     # chemin d'installation
    basedir = C: / mysql
    # répertoire de données
    datadir = E: / mysqldata
    

    (Des barres obliques de chemin avant / sont requises, bien que des barres obliques inverses doubles \ puissent également être utilisées.)

    Maintenant, initialisez le dossier de données et créez un utilisateur par défaut root (sans mot de passe) en entrant la commande suivante à l'invite de la console:

     C:  mysql  bin  mysqld.exe --initialize-insecure --user = mysql
    

    Le serveur peut maintenant être démarré avec:

     C:  mysql  bin  mysqld.exe --console
    

    Utilisez le client MySQL en entrant C: mysql bin mysql.exe -u root dans une autre console. Vous pouvez maintenant exécuter des commandes SQL telles que afficher les bases de données; et quitter en tapant exit .

    Le serveur peut être arrêté avec:

     C:  mysql  bin  mysqladmin.exe -u root root shutdown
    

    Facultativement, MySQL peut être installé en tant que service Windows à démarrage automatique:

     C:  mysql  bin  mysqld.exe --install
    

    Le service se lancera au redémarrage ou vous pouvez entrer net start mysql pour le démarrer immédiatement. Il peut être arrêté à l'aide de net stop mysql ou géré à l'aide du panneau Services dans Outils d'administration Windows :

     Service Windows MySQL [19659003] Le service peut être entièrement supprimé à l'aide de:

     net stop mysql
    C:  mysql  bin  mysqld.exe --remove
    

    Options MySQL écrasantes

    Il existe plusieurs options d'installation MySQL, quel que soit le système d'exploitation que vous utilisez.

    Pour ceux qui découvrent MySQL, un fournisseur de cloud ou un package tout-en-un est probablement le moyen le plus simple de démarrer. . Au fur et à mesure que votre application se développe, envisagez d'adopter Docker dans votre flux de travail de développement ou de gérer une installation MySQL locale. Docker devient de plus en plus pratique à mesure que plusieurs développeurs rejoignent le projet. Finalement, vous pouvez revenir aux options basées sur le cloud au fur et à mesure que votre produit prospère évolue.






Source link