- 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
56 lines
2.0 KiB
Markdown
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.
|