Files
vps-docs/hestiacp/chapitres/08-bases-de-donnees.md
Zana 2e18724685 Ajout du guide PDF HestiaCP réutilisable (HestiaCP 1.10.4)
- 14 chapitres + annexe en Markdown (chapitres/), 99 étapes
- Générateur WeasyPrint (build/build.py) : PDF générique ou
  personnalisé via --vars fichier.conf
- PDF générique + PDF personnalisé srv1.skglobalinstitute.com
- Commandes v-* vérifiées contre le code source HestiaCP 1.10.4
- 03-bis-hestiacp.md pointe vers le nouveau guide

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018J2PsVQ28oW4xEkWJpcU9G
2026-09-10 20:01:59 +02:00

2.0 KiB

Bases de données MariaDB

HestiaCP installe MariaDB 11.8. Chaque base appartient à un utilisateur Hestia, et son nom comme celui de son utilisateur MariaDB sont préfixés par le nom de l'utilisateur Hestia. Le port 3306 reste fermé vers l'extérieur.

Créer une base pour un projet

 sudo v-add-database {{CLIENT}} app app 'MOT_DE_PASSE_BDD'
sudo v-list-databases {{CLIENT}}

[!CHECK] La base {{CLIENT}}_app apparaît, avec l'utilisateur {{CLIENT}}_app. Ce sont ces noms complets qu'il faut utiliser dans l'application.

Le jeu de caractères par défaut est utf8mb4. Dans une application, l'hôte est 127.0.0.1 et le port 3306.

Accéder à phpMyAdmin

Ouvrez https://{{FQDN}}/<alias-choisi-au-chapitre-4>/ et connectez-vous avec l'utilisateur de la base ({{CLIENT}}_app) et son mot de passe.

Exporter une base

sudo v-dump-database {{CLIENT}} {{CLIENT}}_app > ~/{{CLIENT}}_app.sql

Pour une version compressée, utilisez sudo v-dump-database {{CLIENT}} {{CLIENT}}_app file zstd. La commande affiche le chemin du fichier créé dans /backup/, qui est supprimé automatiquement au bout d'une heure.

Importer une base existante (migration)

Depuis l'ancien serveur, exportez la base puis copiez-la sur le nouveau :

# Sur l'ancien serveur
mysqldump --single-transaction --routines --triggers ancienne_base > ancienne_base.sql
scp -P {{SSH_PORT}} ancienne_base.sql {{USER}}@{{IP}}:~/

Sur le nouveau serveur, importez-la dans la base créée plus haut :

mariadb -u {{CLIENT}}_app -p {{CLIENT}}_app < ~/ancienne_base.sql
rm ~/ancienne_base.sql

Warning

Un export contient souvent des données personnelles. Supprimez les fichiers .sql une fois l'import terminé, sur les deux serveurs.

Changer le mot de passe d'une base

 sudo v-change-database-password {{CLIENT}} {{CLIENT}}_app 'NOUVEAU_MOT_DE_PASSE'

Pensez à mettre à jour le fichier .env.local de l'application ensuite.