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

56 lines
2.0 KiB
Markdown

# 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
```bash
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
```bash
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 :
```bash
# 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 :
```bash
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
```bash
sudo v-change-database-password {{CLIENT}} {{CLIENT}}_app 'NOUVEAU_MOT_DE_PASSE'
```
Pensez à mettre à jour le fichier `.env.local` de l'application ensuite.