MariaDB : Backup et Restauration
Source: https://www.linode.com/docs/databases/mysql/use-mysqldump-to-back-up-mysql-or-mariadb/
Backup d'une DB vers un fichier
Syntaxe :
mysqldump -u [user_name] -p [database_name] > [file_name].sql
Exemple :
mysqldump -u marc -p monsiteweb > "dbdump-$(date +%Y%m%d-%H%M).sql"
⇒ génère un fichier nommé (par exemple) dbdump-20200424-0904.sql.
Exemple de script de backup
⇒ Le mot de passe n'est pas fourni par le script
~/backup_db.sh
#!/bin/bash
destpath="$HOME/nextcloud-db-dump-$(date +%Y%m%d-%H%M).sql"
mysqldump -u admin -p nextcloud > $destpath
echo "Finished."
echo "DB Dump saved in [$destpath]"
Restauration de la DB
Syntaxe :
mysql -u [user_name] -p [database_name] < [file_name].sql
La base de données doit exister.
Si elle n'est pas vide, les tables seront droppées avant d'être recréées.
Exemple de restauration
Lancer le client mariadb :
mariadb -u root -p
Enter password: ********
Voir les DB existantes :
SHOW DATABASES;
Créer une DB vide :
CREATE DATABASE monsiteweb2 CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Accorder les privilèges sur la nouvelle DB à un utilisateur :
GRANT ALL PRIVILEGES ON `monsiteweb2`.* TO 'symfony'@'localhost';
Quitter le client mysql :
exit;
Importer le contenu de la DB depuis le backup :
mysql -u marc -p monsiteweb2 < dbdump-20200424-0904.sql