1 line
3.8 KiB
JSON
1 line
3.8 KiB
JSON
{"uuid":"7752fdd9-61b3-4c45-8b81-8538e7b5d691","slug":"effectuer-une-sauvegarde-de-base-de-donnees","title":"Sauvegarde une base de données MariaDB","author":"cedric@abonnel.fr","published":true,"published_at":"2023-10-26 11:42:39","created_at":"2023-10-26 11:42:39","updated_at":"2023-10-26 11:42:39","revisions":[],"cover":"","files_meta":[],"external_links":[],"seo_title":"","seo_description":"","og_image":"","category":"Informatique","content":"# Sauvegarde une base de données MariaDB\n\n\n\nIl existe deux façon de faire une sauvegarde. L'une est plus sécurisée que l'autre.\n\nOuvrez une fenêtre de terminal ou une invite de commande sur votre système.\n\n## Sauvegarde sécurisée\nCré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.\n\n```\n[mysqldump]\nuser=cedric\npassword='&qy9zh%Mzz$mA'\n```\n\nUtiliser la commande `mariadb-dump` pour effectuer la sauvegarde.\nSi la commande `mariadb-dump` ne fonctionne pas, essayez `mysqldump`.\n\n```bash\nmariadb-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\n```\n\nOn peut imaginer un script complet.\n```bash\n#!/bin/bash\n \nset -e\n \n## Backup de la base de données\n \ndateHeure=$(date \"+%Y%m%d-%H%M%S\")\ndatabase=[nom_de_la_base_de_donnees]\ndb_host=[nom_du_serveur]\nfile_log=/var/log/save_${database}-${dateHeure}.log\npath_tmp=/tmp\npath_backup=/var/backup\nfile_dump=backup_${database}_${dateHeure}.sql\nfile_dump_archive=${file_dump%.*}.tar.gz\n \ncheckError() {\n status=${1}\n message=${2}\n file_log=${3}\n if [ \"$status\" -ne 0 ]\n then\n echo \"Erreur : \" \"${message}\" | tee -a \"${file_log}\"\n echo \"Fin du script\" | tee -a \"${file_log}\"\n exit \"$status\"\n fi\n \n return\n}\n \necho -e \"\\n Création du dump de la base de données\" | tee -a \"${file_log}\"\nmariadb-dump -h ${db_host} ${database} | tee \"${path_tmp}\"/\"${file_dump}\" | tee -a \"${file_log}\"\ncheckError $? \"création du dump de la base\" \"${file_log}\"\n \necho -e \"\\n Création de l'archive du dump\"| tee -a \"${file_log}\"\ntar zcvf \"${path_backup}/${file_dump_archive}\" \"${path_tmp}/${file_dump}\" | tee -a \"${file_log}\"\ncheckError $? \"création du l'archive\" \"${file_log}\"\n \necho -e \"\\n Suppression du dump\"| tee -a \"${file_log}\"\nrm \"${path_tmp}/${file_dump}\" | tee -a \"${file_log}\"\ncheckError $? \"suppression du dump de la base de données\" \"${file_log}\"\n```\n\n## Sauvegarde non sécurisée\n```\nmariadb-dump -u [utilisateur] -p[password] [nom_de_la_base_de_données] > [nom_du_fichier_de_sauvegarde.sql]\n```\n\n- [utilisateur] : Remplacez ceci par le nom d'utilisateur MySQL.\n- [password] : Si l'utilisateur MySQL a un mot de passe, vous pouvez le spécifier immédiatement après -p (sans espace). Si vous ne le spécifiez pas, la commande vous demandera le mot de passe lors de l'exécution.\n- [nom_de_la_base_de_données] : Remplacez ceci par le nom de la base de données que vous souhaitez sauvegarder.\n- [nom_du_fichier_de_sauvegarde.sql] : Remplacez ceci par le nom que vous souhaitez donner au fichier de sauvegarde. Il aura généralement l'extension \".sql\".\n\nExé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.\n\nLa 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\nN'oubliez pas de prendre des mesures de sécurité appropriées pour protéger vos informations d'identification MySQL, car elles sont sensibles.","featured":false,"tags":[]} |