Restaurer la Base MySQL avec une Sauvegarde de Magento

Restaurer avec la Sauvegarde par Magento : « Quelle Galère, dire que j’ai utilisé cette solution pendant plus d’un an » c’est Lent, Compliqué et pas fiable !

Si vous pouvez éviter,  j’ai crée un tutoriel qui explique comment restaurer en moins d’une minutes, simple et efficace : Copier Sauvegarder et Restaurer facilement une Base Mysql de Magento

Si vous n’avez pas le choix, si vous utilisez un Hébergement Mutualisé voici la procédure :


Restaurer une Sauvegarde Magento il faut :

  • Faire la sauvegarde dans Magento
  • Décompresser la sauvegarde
  • Éditer la sauvegarde
  • Supprimer Créer une Base Vierge
  • Découper la sauvegarde en plusieurs parties (éventuellement)
  • Restaurer (importer dans une nouvelle base)
  • Éditer core_config_Data (éventuellement)
  • .htaccess (éventuellement)

  1.Faire la sauvegarde dans Magento

Faire une Sauvegarde de votre Base de donnée dans magento Admin Panel>System>Outil>Sauvegarde

Puis cliquez sur gz pour récupérer cette sauvegarde

date
1195xx
BD
gz peut être décompressée avec 7-Zip

Si votre base est trop grosse, et que vous n’arrivez pas a sauvegarder, voici deux méthodes Beaucoup plus efficace mais qui voir : ce Tutoriel : Copier Sauvegarder et Restaurer facilement une Base Mysql de Magento


   .2 Décompressez La Sauvegarde

  • Vous munir d’un utilitaire de décompression comme Peazip.exe par exemple ou 7-zip.exe (vous trouvez ça dans google sur Filehippo.com ou Clubic)
  • Décompresser votre Sauvegarde

   .3 Éditer la sauvegarde

  • Avec un éditeur de texte comme Notepad ++  ou Geany par exemple ouvrez la sauvegarde.
  • Supprimer en début du fichier ce que j’ai barré (laissé le ; à la fin de chaque ligne)
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */ ;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */ ;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */ ;
/*!40101 SET NAMES utf8 */ ;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */ ;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  • Supprimer en fin du fichier ce que j’ai barré (laissé le ; à la fin de chaque ligne)
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */ ;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */ ;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */ ;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */ ;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */ ;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */ ;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */ ;

Si votre sauvegarde est grosse pensez a compresser avant de la restaurer


.5  Supprimer / Créer une Base viège

Selon les cas:

  • Hebergement Mutualisé : Si vous êtes sur un Hebergement Mutualisé le plus simple est passer par le Management de votre compte pour supprimer la Base et la ré-créer. (si vous avez le droit a plusieurs Base MySQL, créer en une autre a coté de l’ancienne
  • Plesk : Si vous avez Plesk, (Pourquoi suivez-vous ce Tuto, car dans plesk il  y a plus simle ! voir celui-ci ) Plesk > Domaines > Gérer l’Hébergement >  Sites Web & Domaines > Base de Données > supprimer  Puis > Ajouter une nouvelle base de données.
  • phpMyAdmin : par phpMyAdmin il faut Sélectionner la Base > Cocher toutes les tables > Pour la sélection choisirSUPPRIMER   – Il faut recommencer plusieurs fois l’Opération,  ±5 fois – il n’y aura pas besoin de re-creer la base car elle existe deja, elle juste vide.

.5 Restaurer

Il existe plusieurs solutions pour restaurer votre Base MySQL Magento,

mysql -u LoginDeLaNouvelleBaseVierge -p NomDeLaBaseNouvelleBaseVierge < /CheminDeLaSauvegarde/sauvegarde.sql

Si vous ne pouvez saisir de ligne de commande, c’est que vous êtes sur un Hébergement Mutualisé, votre Hébergeur a du vous fournir un accès à phpMyAdmin pour gérer votre Base MySQL, si nous n’avez pas le minimum, il va falloir demander a votre Hébergeur quel solution il propose, ou changer d’Hébergement voir ce tuto.

  • phpMyAdmin :  > Sélectionnez la Base (elle doit être vide sans aucune table) > Importer > Parcourir > choisir votre fichier de sauvegarde > Exécuter
  • Si votre base est petite ça va passé🙂
  • Si elle est un peu grosse, compresser-la, phpMyAdmin supporte les fichiers compressés🙂
  • Si elle est trop grosse, seule une partie a été importé, il faut donc la découper😦

.5 Découper en plusieurs parties à restaurer

Si elle est trop grosse, seule une partie a été importé, il faut donc la découper.

  • Avec PhphMyAdmin regardez la dernière table importée, notez son Nom et suprimez-la ( la dernière à été restaurée importé incomplète)
  • Avec un éditeur de texte comme Notepad ++  ou Geany par exemple
  • Ouvrez la sauvegarde. (la version  de la sauvegarde décompressée uniquement)
  • Laissez les Premières lignes, Puis supprimer tout jusqu’à Table que vous avez NOTEZ.
SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;
SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;
SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION;
SET NAMES utf8;
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO';
SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0;

Suprimez tout....... 

         ......jusqu'à la Base de vous avez Noté

--
-- Table structure for table `Nom Table que vous avez Noté`
--
  • Sauvegardez le fichier sous « Partie_2.sql » (éventuellement compressez là)
  • phpMyAdmin :  > Sélectionnez la Base (elle doit être vide sans aucune table) > Importer > Parcourir > choisir votre fichier Partie_2.sql(ou .gz) > Exécuter
  • Recommencez au s’il faut une partie 3, Notez, supprimer, enregistrez sous, Importer, etc..

Si vous n’avez pas réussi à découper votre Base, c’est quelle trop grosse pour être ouvert par un editeur de texte. Vous n’avez pas d’autre choix que de l’importer/Restaurer pas une ligne de commande,  si votre Hebergement ne le permet pas, contactez votre Hebergeur, il peut certainement l’importer/restaurer moyenant quelques Euro, Je sais OVH propose ce type de service,  1and1  je ne crois pas. Si non c’est que votre Hébergement n’est pas adapté à Magento. Changez d’hebergement.


.7 Editer core_config_Data

il est nécessaire de modifier core_config_Data, que si vous avez restaurez ou copié votre Magento vers un dossier ou nom de domaine différents de l’original

  • Modifier avec PhpAdmin
  • Si vous utlilisez Plesk c’est ici Plesk>  Abonnements> votre site> Sites Web & Domaines>  Bases de données > Admin Web
  • Recherchez la Table :  core_config_Data
  • à la 3iem  et 4iem ligne :
web/unsecure/base_url http://VotreSite/VotreDossierMagento/
web/secure/base_url http://VotreSite/VotreDossierMagento/
  • Cliquez sur Modifier pour corriger.

Mise en Garde : il y a un bug dans  phpMyAdmin : Si vous avez modifié juste avant une autre base MySQL, votre navigateur garde en mémoire la session donc vous empêche de la modifier ! Solution : il faut juste vider l’historique de votre navigateur. Personnellement, j’utilise 5 Navigateurs (Opera, Safari, Chrome, Firefox, Explorer) , comme ça je peux modifier ou comparer plusieurs bases MySQL en même temps sans avoir d’interférence entre les deux :)


   .8 Editer .htaccess

il est nécessaire de modifier .htaccess, que si vous avez restaurez ou copié votre Magento vers un dossier différents de l’original

  • Sur votre Serveur il doit être là : /var/www/vhosts/VotreSite/httpdocs/VotreDossierMagento/
  • Ouvrir le Fichier .htaccess de votre dossier Magento avec un éditeur Geany sous linux, Notepad++ sous Windows..)
  • Rechercher dans ce fichier :  RewriteBase /VotreDossierMagento/
  • Modifiez pour mettre le nom du nouveau dossier



    .9 Editer local.xml

il est nécessaire de modifier local.xml, si vous avez restaurez ou copié vers une base Mysql différente afin d’indiquer à Magento les nouveaux identifiants :Nom de la Base, utilisateur  et Mot de Passe. (si vous ne voyez pas que quoi je parle, allez voir  le Chapitre 4.Copier la base de donner)

  1. Ce Fichier ce trouve dans votre dossier magento : magento/app/etc/local.xml
  2. Il faut éditer le fichier local.xml de magento/app/etc/local.xml avec un éditeur de texte : sous linux avec Geany, sous windows avec NotePad++
  3. Pour Mettre les informations concernant votre nouvelle Base MySQL de Magento:
  • LoginDeLABase : Le nom de l’utisateur de votre base MySQL/Magento
  • MotDePasse : Le mot de Passe de l’utilisateur
  • NomDelaBase : LE Nom de Votre nouvelle Base MySQL/Magento
 /Magento/app/etc/local.xml 

     default_setup
            connection
                host  ![CDATA[localhost]]  /host
           username  ![CDATA[LoginDeLaBase]]  /username
            password  ![CDATA[MotDePasse]]  /password
            dbname  ![CDATA[NomDeLaBase]]  /dbname
            active 1 /active
        /connection
     /default_setup
/resources
session_save  ![CDATA[files]]  /session_save
/global
admin
    routers
        adminhtml
            args
              frontName  ![CDATA[admin]]  /frontName



Peut également aussi vous intéresser :


, , , , , , , , , , , , , , , , , , ,

  1. Déplacer – Copier Magento vers un autre Domaine ou Dossier | Eric Kranich
  2. Serveur idéal pour Magento de A à Z (sous Ubuntu 10.04 + Plesk OVH) | Eric Kranich
  3. Connectez Magento a une Base de données Mysql d’un serveur distant. | Eric Kranich

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :