Download Gestionnaire de sauvegarde complet pour MySQL

      Information

 Information

Pour ceux qui ont une application PHP / MySql, il permet de sauvegarder d'un clic sa base ou de la restaurer avec une sauvegarde antérieure. La gestion des noms est automatique même s'il y a plusieurs bases à gérer. Une seule ligne de code php/html est à rajouter au menu de chaque application avec retour dans
l'application à la fin. Les tables avec contraintes de clés externes sont gérées. Ce gestionnaire est composé de petits modules, qu'il suffit de placer dans le répertoire courant. Ils peuvent être utilisés indépendamment.
****************
La présentation des fichiers de sauvegarde est calquée sur celle des
exportations de PhpMyAdmin. Avec une différence : l'importation de PhpMyAdmin impose d'effacer manuellement toutes les tables concernées, ce qui est contraire au principe d'automatisme. Le palliatif est de procéder à la sauvegarde de la base actuelle avant toute restauration puis à la suppression des tables.

L'importation d'une sauvegarde peut se faire alors en toute sérénité.
****************
Pour faciliter le choix du fichier à restaurer, un petit éditeur a été ajouté. Tout fichier .sql est accepté. La liste de ces fichiers avec leur date de création est également affichée. Ils doivent être dans le répertoire courant.
****************
Pour gérer plusieurs bases, il a été choisi d'associer quelques lignes de code à chaque base (des aiguilleurs). Chaque aiguilleur assure la connexion à sa base (sous forme d'une instance PDO). Il lance alors le gestionnaire de sauvegarde dont le formulaire aura pour destinataire l'aiguilleur, pour un retour à l'expéditeur. (redirection). Les aiguilleurs se distinguent simplement par le
nom de la base associée : aiguilleur_unebase.php
****************
Petit bonus : si la base venait à être corrompue, provoquant une erreur fatale, en lançant simplement l'aiguilleur on peut restaurer la dernière sauvegarde et se retrouver directement dans l'application réparée ! Le contenu de la base, tel qu'il était avant réparation, peut alors être étudié dans l'éditeur.
****************
Mais avant tout test, procéder à une (dernière ?) exportation / VÉRIFICATION de l'exportation. Ne jamais oublier la puissance de la loi de Murphi ! Dont ma traduction serait : la chose la plus improbable doit être considérée comme avérée dès lors qu'elle est néfaste...
****************
EN PRATIQUE,
Si une des bases est 'base1' et que son menu est géré par une liste déroulante, il faut rajouter une option au menu avec la ligne :
...................................................................

...................................................................
Créer le 'fichier aiguilleur_base1.php' (en changeant 'base1' et 'mon_pass') avec pour contenu le code : (le fichier est dans le .zip)
-------------------------------------------------------------------
if(isset($_POST['sauve'])&& $_POST['restaure']==''&& $_POST['sauve']=='non') {
header("Location: mon_accueil.php"); exit; } // <== modifier ici
$base = 'base1'; // <== modifier ici (nom d'une de mes bases)
$bdd = new PDO('mysql:host=localhost';dbname='.$base, 'root', 'pass');
include("gestionnaire.php"); // La cible du formulaire est cet aiguilleur.
?>
-------------------------------------------------------------------
Si le menu est géré par des boutons "radio", il faut ajouter la ligne :
...................................................................

...................................................................
en remplaçant les "xx" par : "aiguilleur_base1.php", et les "yy" par : Gestion des sauvegardes En supposant que la première ligne php de "lecture" du menu soit :
-------------------------------------------------------------------
if(isset($_POST['menu'])) {
header("Location: ".$_POST['menu']); exit; }
-------------------------------------------------------------------
****************
Et rajouter dans le répertoire de travail les fichiers :
aiguilleur_base1.php (à modifier)
sauvegarde.php
restauration.php
gestionnaire.php
pied_de_page.php
feuille.css pour quelques couleurs.
****************
Côté sécurité, un formulaire utilisé est aussitôt invalidé : si on revient en arrière dans la navigation, même si on relance le formulaire, l'action sera sans effet. On ne verra plus : "les informations précédemment transmises par Firefox doivent être renvoyées." ! (au risques et périls de l'utilisateur !).
****************
W7 / WAMPSERVER2.1 / phpMyAdmin / Apache / MySQL5.5.8
****************


  • Merci de signaler tout problème rencontré avec ce script

L'ajout de commentaire est libre et ne demande pas d'inscription


Présentation de PHP

PHP débutant et initié 50 Tutoriel

Présentation de MySQL

  Derniers scripts PHP / MySQLi

IGalerie 3.0.9

Script PHP / MySQL
Langue langue fr
Date 21 Déc 2020
Taille 0.87 Mo
Catégorie Galeries

TYPO3 10.4.11

logo TYPO3
Langue langue fr
Date 16 Déc 2020
Taille 36 Mo
Catégorie CMS

E107 2.3.0

logo e107
Langue langue fr
Date 14 Déc 2020
Taille 12 Mo
Catégorie CMS

Vtiger 7.3

Script PHP / MySQL
Langue langue fr
Date 14 Déc 2020
Taille 60 Mo
Catégorie CRM