Pour migrer une base de données MySQL existante vers un conteneur Docker
### Prérequis
– *Docker* et *Docker Compose* installés sur votre machine.
– Accès à la base de données MySQL source (local ou distant).
### Étapes de la migration
1. *Exporter la base de données existante :*
Utilisez la commande mysqldump pour exporter votre base de données vers un fichier SQL. Remplacez les valeurs en italique par celles qui correspondent à votre configuration.
bash
mysqldump -u utilisateur -p nom_de_la_base > base_de_donnees.sql
Vous serez invité à entrer le mot de passe pour l’utilisateur MySQL. Le fichier base_de_donnees.sql contiendra tous les schémas et données de votre base.
2. *Configurer Docker avec MySQL :*
Comme décrit précédemment, créez un fichier docker-compose.yml pour exécuter MySQL.
Exemple de docker-compose.yml :
yaml
version: ‘3.8’
services:
db:
image: mysql:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword # Remplacez par votre mot de passe
MYSQL_DATABASE: nom_de_la_base # Nom de votre base
MYSQL_USER: utilisateur # Nom d’utilisateur
MYSQL_PASSWORD: motdepasse # Mot de passe de l’utilisateur
ports:
– « 3306:3306 »
volumes:
– db_data:/var/lib/mysql
volumes:
db_data:
3. *Démarrer le conteneur MySQL :*
Dans le même répertoire que votre docker-compose.yml, exécutez :
bash
docker-compose up -d
4. *Copier le fichier SQL dans le conteneur :*
Une fois le conteneur en cours d’exécution, vous devez copier le fichier SQL à l’intérieur du conteneur MySQL. Utilisez la commande suivante :
bash
docker cp base_de_donnees.sql <nom_du_conteneur>:/base_de_donnees.sql
Remplacez <nom_du_conteneur> par l’ID ou le nom de votre conteneur MySQL (vous pouvez le trouver avec docker ps).
5. *Importer la base de données dans le conteneur :*
Connectez-vous au conteneur MySQL :
bash
docker exec -it <nom_du_conteneur> mysql -u utilisateur -p
À l’intérieur de l’interface MySQL, exécutez la commande suivante pour importer le fichier :
sql
SOURCE /base_de_donnees.sql;
6. *Vérifier l’importation :*
Vous pouvez vérifier que votre base de données a été correctement importée en exécutant :
sql
SHOW DATABASES;
Vérifiez également le contenu de la base importée.
7. *Arrêter et nettoyer les ressources :*
Une fois que vous avez confirmé que la migration s’est bien déroulée, vous pouvez arrêter le conteneur si nécessaire :
bash
docker-compose down
### Conclusion
Vous avez migré avec succès votre base de données MySQL existante vers un conteneur Docker. Cette méthode devrait fonctionner pour la plupart des cas, mais assurez-vous de tester soigneusement les fonctionnalités de votre application après la migration.


