« MariaDB » : différence entre les versions

De wiki jackbot
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 21 : Ligne 21 :
<pre style="color: silver; background: black;">
<pre style="color: silver; background: black;">
docker exec conteneur bash -c '/usr/bin/mysqldump -u $MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DATABASE' > sauvegarde.sql
docker exec conteneur bash -c '/usr/bin/mysqldump -u $MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DATABASE' > sauvegarde.sql
</pre>
<h1>Restauration de la base de données</h2>
<h2>Cas général</h2>
<pre style="color: silver; background: black;">
mysql -u utilisateur --password=mot_de_passe base_de_donnees < sauvegarde.sql
</pre>
<h2>Cas de Docker</h2>
<pre style="color: silver; background: black;">
cat sauvegarde.sql | docker exec -i conteneur bash -c '/usr/bin/mysql -u $MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DATABASE'
</pre>
</pre>

Version actuelle datée du 21 juillet 2023 à 07:32

MariaDB est un système de gestion de base de données édité sous licence GPL. Il s'agit d'un embranchement communautaire de MySQL : la gouvernance du projet est assurée par la fondation MariaDB

Avec Docker

Il existe une image officielle pour Docker

Décharger une base de données

Cas général

Pour décharger une base de donnée il faut utiliser la commande :

mysqldump -u utilisateur --password=mot_de_passe base_de_donnees > sauvegarde.sql

Cas de Docker

Avec Docker il faut transmettre la commande précédente au conteneur en question, par exemple :

docker exec conteneur /usr/bin/mysqldump -u utilisateur --password=mot_de_passe base_de_donnees > sauvegarde.sql

Cependant on peut éviter de fournir les différents paramètres en clair en utilisant les variables d'environnement du conteneur :

docker exec conteneur bash -c '/usr/bin/mysqldump -u $MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DATABASE' > sauvegarde.sql

Restauration de la base de données

Cas général

mysql -u utilisateur --password=mot_de_passe base_de_donnees < sauvegarde.sql

Cas de Docker

cat sauvegarde.sql | docker exec -i conteneur bash -c '/usr/bin/mysql -u $MYSQL_USER --password=$MYSQL_PASSWORD $MYSQL_DATABASE'