N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
J’ai récemment souhaité tester un module sur d’anciennes version de prestashop, mais celle-ci ne fonctionnaient pas correctement avec mysql 5.7 qui est installé par défaut sur mon serveur de développement ( basé sur ubuntu 16.04 )
Ce service devant tourner de manière ponctuelle, l’installer en doublon de la version 5.6 n’était pas une option.
La solution la plus simple est donc d’utiliser docker, nous allons voir comment avoir un autre serveur de base de données avec la version 5.6 en quelques minutes 🙂
Installation de docker
Pour cela je vous envoie vers la documentation officielle qui explique tout très bien : https://docs.docker.com/install/linux/docker-ce/ubuntu/#extra-steps-for-aufs
Installer docker-compose
sudo apt-get install docker-compose |
Création du fichier docker-compose
Pour le ranger j’ai créer un dossier /mysql56 dans mon dossier home
mkdir ~/mysql56 |
Dans lequel on va créer un dossier /data qui contiendra le contenu des bases de données du container.
Ceci permettra de persister les données en éteignant le container.
On va ensuite installer l’image mysql5.6 en créant un fichier docker-compose.yml dans le dossier avec le contenu suivant
version: '2' services: mysql5.6: image: mysql:5.6 restart: always volumes: - ./data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: root ports: - "3309:3309" networks: network: ipv4_address: 172.20.0.2 networks: network: ipam: config: - subnet: 172.20.0.0/16 |
Celui-ci va lancer une base de données mysql 5.6 en complément de la version 5.7 ,celle-ci sera accessible via l’ip 172.20.0.2 et le login / mot de passe : root / root
Pour lancer le container il suffit ensuite de lancer la commande :
sudo docker-compose up |
Si vous souhaitez lancer la commande en background vous pouvez rajouter l’option « -d »
Vous pouvez ensuite consulter les containers en cours d’éxécution via la commande :
sudo docker-compose ps |
Et les arrêter via la commande
sudo docker-compose stop |