Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
automysqlbackup [Le 25/02/2021, 07:27] bcag2 [Configuration] DBNAMES |
automysqlbackup [Le 06/12/2024, 10:31] (Version actuelle) bcag2 [Configuration] compte utilisateur avec minimum de droits |
||
---|---|---|---|
Ligne 27: | Ligne 27: | ||
Vous trouverez notamment :\\ | Vous trouverez notamment :\\ | ||
- | BACKUPDIR="/var/lib/automysqlbackup" \\ | + | <code bash>BACKUPDIR="/var/lib/automysqlbackup"</code>\\ |
- | qui définit le répertoire de sauvegarde. Vous pouvez définir ici un autre chemin, dans votre dossier personnel par exemple. Mais, sachez que vous n'aurez pas les permissions sur ces sauvegardes qui ont été créés par le superutilisateur ce qui peut être un problème au moment de les copier sur un autre support.\\ | + | **qui définit le répertoire de sauvegarde**. Vous pouvez définir ici un autre chemin, dans votre dossier personnel par exemple. Mais, sachez que vous n'aurez pas les permissions sur ces sauvegardes qui ont été créés par le superutilisateur ce qui peut être un problème au moment de les copier sur un autre support.\\ |
Pour résoudre ceci, vous pouvez par exemple, utiliser la ligne suivante du fichier pour devenir propriétaire de ces fichiers :\\ | Pour résoudre ceci, vous pouvez par exemple, utiliser la ligne suivante du fichier pour devenir propriétaire de ces fichiers :\\ | ||
- | POSTBACKUP="chown -R utilisateur:groupe /chemin vers mon répertoire perso de sauvegarde"\\ | + | <code bash>POSTBACKUP="chown -R utilisateur:groupe /chemin_vers/mon_répertoire_perso_de_sauvegarde"</code>\\ |
où vous remplacez 'utilisateur' et 'groupe' par votre nom d'utilisateur de la session. | où vous remplacez 'utilisateur' et 'groupe' par votre nom d'utilisateur de la session. | ||
Ligne 44: | Ligne 44: | ||
Si vous définissez le //USERNAME// et le //PASSWORD//, la commande par défaut à la ligne //DBNAMES// va engendrer une erreur 1045((https://devops.stackexchange.com/questions/13422/automysqlbackup-fails-return-error-1045)), le mieux est de remplacer cette ligne (à adapter) par <code bash>DBNAMES="nom_base_1 nom_base_2"</code> pour préciser les bases à sauver. Si on met //"all"//, ça les sauvegarde toutes… mais peut engendrer une ERROR 1042 ! | Si vous définissez le //USERNAME// et le //PASSWORD//, la commande par défaut à la ligne //DBNAMES// va engendrer une erreur 1045((https://devops.stackexchange.com/questions/13422/automysqlbackup-fails-return-error-1045)), le mieux est de remplacer cette ligne (à adapter) par <code bash>DBNAMES="nom_base_1 nom_base_2"</code> pour préciser les bases à sauver. Si on met //"all"//, ça les sauvegarde toutes… mais peut engendrer une ERROR 1042 ! | ||
+ | |||
+ | On peut définir des options de //mysqldump//, par exemple : | ||
+ | <code bash>OPTIONS="--no-tablespaces"</code> | ||
+ | |||
+ | Compte de sauvegarde | ||
+ | Il est judicieux de définir un compte pour la sauvegarde avec un minimum de droits : | ||
+ | <code sql> | ||
+ | GRANT SELECT, LOCK TABLES ON `ma_base`.* TO 'mon_compte_de_sauvegarde'@'localhost'; | ||
+ | </code> | ||
+ | <note important> | ||
+ | Ces droits sont insuffisants si on n’ajoute pas l’option //--no-tablespaces//, cf. l’ajout d'options ci-dessus ((src: https://dba.stackexchange.com/a/273040))\\ | ||
+ | //localhost// en fin de requête convient si on l’exécute depuis le même serveur | ||
+ | </note> | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
Ligne 51: | Ligne 64: | ||
===== Restauration ===== | ===== Restauration ===== | ||
Le script va créer des fichiers compressés qui seront sauvegardés dans 3 répertoires différents "Daily", "Weekly" et "Monthly". | Le script va créer des fichiers compressés qui seront sauvegardés dans 3 répertoires différents "Daily", "Weekly" et "Monthly". | ||
- | Pour restaurer une base de données mysql, il faut chercher dans ces répertoires le fichier de sauvegarde correspondant au nom de la base et à la date correspondant au moment où vos données étaient satisfaisantes. La décompression de se fichier va donner un fichier avec l'extension .sql.\\ | + | Pour restaurer une base de données mysql, il faut chercher dans ces répertoires le fichier de sauvegarde correspondant au nom de la base et à la date correspondant au moment où vos données étaient satisfaisantes.\\ |
+ | La décompression de se fichier n'est pas nécessaire pour l'importer avec [[:phpmyadmin]], néanmoins, si vous souhaitez récupérer le fichier .sql, vous pouvez le décompresser avec : | ||
+ | <code bash>gunzip -d fichier-de-sauvegarde.sql.gz</code>\\ | ||
Pour restaurer la base de données à partir de ce fichier, avec Bionic et les versions ultérieures (à partir de Xenial pour MariaDB), la commande à taper est : | Pour restaurer la base de données à partir de ce fichier, avec Bionic et les versions ultérieures (à partir de Xenial pour MariaDB), la commande à taper est : | ||
<code>sudo mysql NomMaBase < /chemin vers fichier sauvegarde.sql</code> | <code>sudo mysql NomMaBase < /chemin vers fichier sauvegarde.sql</code> | ||
Ligne 65: | Ligne 80: | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
- | * **(en)** [[http://sourceforge.net/projects/automysqlbackup/|Site officiel du projet]] | + | * **(en)** [[https://sourceforge.net/projects/automysqlbackup/|Site officiel du projet]] |
--- | --- | ||
//Contributeurs principaux : [[utilisateurs:Johndescs]].// | //Contributeurs principaux : [[utilisateurs:Johndescs]].// | ||