Il existe deux façon de faire une sauvegarde. L'une est plus sécurisée que l'autre.
Ouvrez une fenêtre de terminal ou une invite de commande sur votre système.
Créer dans le home de l'utilisateur (~
) le fichier .my.cnf
. Ce fichier contiendra le nom et le mot de passe qui seront utilisés lors de la sauvegarde.
[mysqldump] user=cedric password='&qy9zh%Mzz$mA'
Utiliser la commande mariadb-dump
pour effectuer la sauvegarde.
Si la commande mariadb-dump
ne fonctionne pas, essayez mysqldump
.
mariadb-dump -h [nom_du_serveur] [nom_de_la_base_de_données] > backup_[nom_de_la_base_de_données]_$(date "+%Y%m%d-%H%M%S").sql
On peut imaginer un script complet.
#!/bin/bash set -e ## Backup de la base de données dateHeure=$(date "+%Y%m%d-%H%M%S") database=[nom_de_la_base_de_donnees] db_host=[nom_du_serveur] file_log=/var/log/save_${database}-${dateHeure}.log path_tmp=/tmp path_backup=/var/backup file_dump=backup_${database}_${dateHeure}.sql file_dump_archive=${file_dump%.*}.tar.gz checkError() { status=${1} message=${2} file_log=${3} if [ "$status" -ne 0 ] then echo "Erreur : " "${message}" | tee -a "${file_log}" echo "Fin du script" | tee -a "${file_log}" exit "$status" fi return } echo -e "\n Création du dump de la base de données" | tee -a "${file_log}" mariadb-dump -h ${db_host} ${database} | tee "${path_tmp}"/"${file_dump}" | tee -a "${file_log}" checkError $? "création du dump de la base" "${file_log}" echo -e "\n Création de l'archive du dump"| tee -a "${file_log}" tar zcvf "${path_backup}/${file_dump_archive}" "${path_tmp}/${file_dump}" | tee -a "${file_log}" checkError $? "création du l'archive" "${file_log}" echo -e "\n Suppression du dump"| tee -a "${file_log}" rm "${path_tmp}/${file_dump}" | tee -a "${file_log}" checkError $? "suppression du dump de la base de données" "${file_log}"
mariadb-dump -u [utilisateur] -p[password] [nom_de_la_base_de_données] > [nom_du_fichier_de_sauvegarde.sql]
Exécutez la commande en appuyant sur Entrée. Si un mot de passe est nécessaire et que vous ne l'avez pas spécifié après -p, la commande vous le demandera.
La commande mysqldump
créera une sauvegarde de la base de données spécifiée dans le fichier indiqué. Ce fichier contiendra toutes les instructions SQL nécessaires pour restaurer la base de données ultérieurement.
N'oubliez pas de prendre des mesures de sécurité appropriées pour protéger vos informations d'identification MySQL, car elles sont sensibles.