un outil adapté aux serveurs Web-PHP lents

Le scriptMySQLdumper

  sauvegarde & restauration MySQL de grosses bases

Ce script PHP propose un système de sauvegardes et restauration opérationnel sur de grosses bases de données, (ainsi qu’un navigateur sur vos données en bases).

Article publié le 10 février 2022, et actualisé en février 2022

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 Les limitations imposées à PHP

Les serveurs Web publics peuvent recevoir toutes sortes de programmes, pas toujours très fiables, et les hébergeurs blindent leurs Apache pour limiter les risques.
Mais cela peut entraîner des conséquences parfois gênantes pour l’utilisateur.
- la limitation la plus fréquemment rencontrée est la limite de taille de fichier téléchargeable sur le serveur : deux paramètrespeuvent être positionné dans le fichier de configuration php.ini

  • upload_max_filesize = 2M
  • post_max_size =8M
    D’ailleurs Adminer limite le téléchargement de fichiers à maximum 2 Mo [1].
    - l’autre limitation fréquente est le max_execution_time , temps maximum avant l’arrêt automatique d’un script PHP après un certain temps de fonctionnement [2].
    Vous aurez peut-être remarqué les rafraîchissements d’écran automatiques de spip_loader, ou bien l’usage assez systématique de #PAGINATION dans toutes les listes de l’espace privé de SPIP...

Vous pouvez consulter ces valeurs dans SPIP avec ./ecrire/?exec=info, dans le menu Maintenance / Configuration PHP.

 Modifier le(s) php.ini

Ces valeurs limites sont modifiables dans le fichier de configuration système du PHP, nommé php.ini, sous réserve d’avoir accès à votre serveur.
Sinon la durée d’exécution est éventuellement paramétrable dans mes_fonctions en y ajoutant la ligne :        ini_set('max_execution_time', 180);

Mais le script MySQLdumper permet de contourner ces restrictions !
Bien qu’abandonné depuis 2016, la version disponible sur GitHub a été corrigée en 2018 (voir détails en [Subtilités MySqlDumper]) pour rester compatible PHP 7

 L’installation

Il suffit de télécharger la version disponible sur GitHub dans un sous-dossier de votre serveur, et de pointer votre navigateur sur celui-ci !

Lancer l’installation de MySqlDumper
Paramétrer l’accès MySqlDumper

Vous devez ensuite définir l’accès au serveur de BDD MySQL (comme dans votre .config/connect.php de SPIP : voir ) en précisant l’ordinateur-hote (souventlocalhost), les login et mot de passe d’accès au serveur (comme dans Installer mon premier SPIP 3 en local sur PC).

L’administration de MySqlDumper

Quelques éléments de paramétrage, et c’est prêt (on se passera dans un premier temps des gestions Mail et FTP !).

L’accueil courant de MySqlDumper

 Sauvegardes et restaurations

Tout se passe désormais dans les sous-répertoires de ./work en particulier dans ./work/backup :

La sauvegarde avec MySqlDumper

Les fichiers de sauvegardes sont des exports SQL classiques au format texte, compressés selon les habitudes Linux en <code>.gz, compatibles et faciles à gérer avec PhpMyAdmin ou Adminer.

La restauration avec MySqlDumper

Ces fichiers dans ./work/backup sont normalement nommés par Le scriptMySQLdumper sous la forme nom.de.base_année_mois_jour_heure_mn.sql.gz. C’est là aussi que vous placerez aussi les fichiers de dump SQL que vous souhaiteriez restaurer dans votre SPIP, et s’ils portent un autre nom, cliquez sur le libellé Copies de sécurité d’autres.... pour pouvoir choisir un autre fichier...

Restaurer un dump ’inconnu’ avec MySqlDumper

Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Début 2022, c’est 8 Mo qu’il faut pour exporter la base de donnée de SPN, en format SQL.gz compacté !

[2Le but est de libérer le serveur en cas de boucle d’exécution pour afficher une page .. Sous Windows, il s’agit d’un compteur temporel (temps horloge), dit ’elapsed time’ qui correspondrait au temps total écoulé avant interruption du thread PHP dans le CPU


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 10 février 2022, et actualisé en février 2022 .

Répondre à cet article