# 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}}//` 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.