Restaurer un site Joomla à partir de la sauvegarde d'une base de donnée sous mysql.

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Restaurer un site Joomla à partir de la sauvegarde d'une base de donnée sous mysql.

    Bonjour,
    j'ai du récupérer une ancienne sauvegarde de la base de donnée mysql dans un fichier .sql.
    J'ai pu récupérer la bdd : mysql -u root -p moltech3 < 20190419moltech.sql

    Mon problème est que je n'arrive pas à restaurer mon site Joomla à partir de cette base de donnée afin de récupérer les anciennes version des articles.
    J'ai fait une nouvelle installation de Joomla en sélectionnant cette base de donnée moltech3, mais lorsque j'ouvre le site en administration, il est vierge.

    Y a t-il une autre méthode de restauration?

    Merci pour l'aide.
    Dernière édition par maub à 19/07/2019, 16h04

  • #2
    hello le mieu c'est d'installer akeeba backup sur le site et faire un backup complet puis reinstaller via kickstart ..
    Société : http://www.com3elles.com
    Bénévole : http://www.flexicontent.org

    Commentaire


    • #3
      Bonjour,

      Si tu fais une installation sur la même base avec le même préfixe de tables, les anciennes sont soit effacées et remplacées, soit sauvegardées en "bak" selon ton paramétrage, mais ton site ne récupérera pas pour autant les données.
      L'autre question, si tu n'as que la sauvegarde des tables de la base, c'est de savoir à quelle version de Joomla! elle correspond, histoire de repartir sur la même version pour, après installation, pouvoir y importer les tables de cette sauvegarde et ensuite faire tes mises à jour et la réinstallation des extensions éventuelles (sinon, le site pourrait ne pas fonctionner).
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #4
        Le problème est intervenu suite à une mise à jour de PHP chez l'hébergeur et j'avais bien akeeba d'installé mais ma dernière sauvegarde était trop ancienne.
        Il a donc pu me récupérer que le dernier fichier .sql.

        Robert,
        ce que j'ai fait c'est que j'ai créé une nouvelle base de données mysql moltech3 puis importé les données sauvegardées dedans.
        pourquoi mon site ne récupère pas les données.

        Elle contient des fichiers joom joos et bak





        Commentaire


        • #5
          Comment l'hébergeur n'a-t-il pas pu, ou toi, récupérer par ftp une copie des fichiers ? Je ne comprends pas.

          Comme je l'ai dit, si tu importes tes tables sauvegardées puis que tu installes une nouvelle version de Joomla! utilisant le même préfixe de tables, celles existantes sont soit supprimées, soit renommées en "bak" et de nouvelles recréées, donc ton site n'a que du vide à afficher.
          Il faut que ton fichier de configuration soit modifié pour utiliser les tables de ta sauvegarde, en changeant donc le préfixe après ouverture de ce fichier avec le bloc-notes ou notepad++.

          A voir les préfixes des tables, tu dois avoir une version ancienne (et décompresser la vieille sauvegarde Akeeba aurait pu orienter vers la version de Joomla! utilisée), et si tu as installé une version récente de Joomla!, ça risque fort de ne pas fonctionner avec les anciennes tables.
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire


          • #6
            Je vais essayé la manip que tu as décrit.
            J'ai bien récupéré les fichiers mais après la mise à jour de PHP, je n'avais plus accès au site. J'ai essayé sur un autre serveur et il y avait des problèmes d'incompatibilité.
            Après je domine mal le sujet, je dois l'avouer.

            Merci en tout cas pour ces infos.

            Commentaire


            • #7
              Donc si tu as les fichiers, tu peux déjà savoir quelle version de Joomla! utilisait le site. Selon le cas, tu peux la trouver dans un fichier changelog ou dans un fichier manifest du dossier "administrator/manifests/files", ou encore dans un joomla.xml à la racine.
              Si la version de PHP de ton serveur local ne convient pas à celle de Joomla!, il faudra voir si tu peux utiliser une autre version, plus ancienne, de PHP en local pour récupérer le site puis le mettre à jour.
              Dès que tu auras trouvé une version de PHP compatible, place ces fichiers dans un sous-dossier de ton localhost, puis utilise MoovJla (voir ma signature) à la racine de ce même dossier : tu auras déjà l'info sur la version majeure (1.5, 1.6, 1.7, 2.5 ou 3) et on pourra ensuite affiner. Lors de son ouverture dans ton navigateur, MoovJla va te donner les anciennes caractéristiques de la base, et il te suffira de changer le nom de la base, de l'utilisateur et le mot de passe, si ton serveur local en utilise un pour l'accès MySQL
              Et si
              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
              MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

              Commentaire


              • #8
                Je répond que maintenant car j'étais occupé sur autre chose.

                J'ai effectivement récupéré les infos avec MoovJla : Version de Php 5.5.26 et 1.7.2 pour Joomla.

                Par contre quand je valide le changement avec ma bdd, mon user et mon mot de passe et le préfixe des tables ug93n_ , j'ai le message d'erreur ci-dessous.
                J'ai trois préfixes de tables différents dans ma base mysql, jos, joom et ug93n.
                • The template for this display is not available. Please contact a Site administrator.
                • Unknown column 'a.title_alias' in 'field list' SQL=SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.checked_out, a.checked_out_time, a.catid, a.created, a.created_by, a.created_by_alias, CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, uam.name as modified_by_name,CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END as publish_up, a.publish_down, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, a.hits, a.xreference, a.featured, LENGTH(a.fulltext) AS readmore ,CASE WHEN badcats.id is not null THEN 0 ELSE a.state END AS state,c.title AS category_title, c.path AS category_route, c.access AS category_access, c.alias AS category_alias,CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author,ua.email AS author_email,contact.id as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count as rating_count,c.published, CASE WHEN badcats.id is null THEN c.published ELSE 0 END AS parents_published FROM ug93n_content AS a LEFT JOIN ug93n_categories AS c ON c.id = a.catid LEFT JOIN ug93n_users AS ua ON ua.id = a.created_by LEFT JOIN ug93n_users AS uam ON uam.id = a.modified_by LEFT JOIN ug93n_contact_details AS contact on contact.user_id = a.created_by LEFT JOIN ug93n_categories as parent ON parent.id = c.parent_id LEFT JOIN ug93n_content_rating AS v ON a.id = v.content_id LEFT OUTER JOIN (SELECT cat.id as id FROM ug93n_categories AS cat JOIN ug93n_categories AS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published != 1 GROUP BY cat.id ) AS badcats ON badcats.id = c.id INNER JOIN ug93n_content_frontpage AS fp ON fp.content_id = a.id WHERE a.access IN (1,5) AND CASE WHEN badcats.id is null THEN a.state ELSE 0 END = 1 AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2019-07-19 10:06:51') AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2019-07-19 10:06:51') GROUP BY a.id ORDER BY c.lft, fp.ordering, a.created DESC LIMIT 0, 4 Unknown column 'a.title_alias' in 'field list' SQL=SELECT a.id, a.title, a.alias, a.title_alias, a.introtext, a.checked_out, a.checked_out_time, a.catid, a.created, a.created_by, a.created_by_alias, CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, a.modified_by, uam.name as modified_by_name,CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END as publish_up, a.publish_down, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, a.hits, a.xreference, a.featured, LENGTH(a.fulltext) AS readmore ,CASE WHEN badcats.id is not null THEN 0 ELSE a.state END AS state,c.title AS category_title, c.path AS category_route, c.access AS category_access, c.alias AS category_alias,CASE WHEN a.created_by_alias > ' ' THEN a.created_by_alias ELSE ua.name END AS author,ua.email AS author_email,contact.id as contactid,parent.title as parent_title, parent.id as parent_id, parent.path as parent_route, parent.alias as parent_alias,ROUND( v.rating_sum / v.rating_count ) AS rating, v.rating_count as rating_count,c.published, CASE WHEN badcats.id is null THEN c.published ELSE 0 END AS parents_published FROM ug93n_content AS a LEFT JOIN ug93n_categories AS c ON c.id = a.catid LEFT JOIN ug93n_users AS ua ON ua.id = a.created_by LEFT JOIN ug93n_users AS uam ON uam.id = a.modified_by LEFT JOIN ug93n_contact_details AS contact on contact.user_id = a.created_by LEFT JOIN ug93n_categories as parent ON parent.id = c.parent_id LEFT JOIN ug93n_content_rating AS v ON a.id = v.content_id LEFT OUTER JOIN (SELECT cat.id as id FROM ug93n_categories AS cat JOIN ug93n_categories AS parent ON cat.lft BETWEEN parent.lft AND parent.rgt WHERE parent.extension = 'com_content' AND parent.published != 1 GROUP BY cat.id ) AS badcats ON badcats.id = c.id INNER JOIN ug93n_content_frontpage AS fp ON fp.content_id = a.id WHERE a.access IN (1,5) AND CASE WHEN badcats.id is null THEN a.state ELSE 0 END = 1 AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2019-07-19 10:06:51') AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2019-07-19 10:06:51') GROUP BY a.id ORDER BY c.lft, fp.ordering, a.created DESC


                Commentaire


                • #9
                  Génial,
                  j'ai remplacé le préfixe ug93n par jos et cela a fonctionné !
                  J'ai récupéré mes articles perdus.

                  Merci bien Robert pour ce gros coup de main.

                  Merci également y.berges

                  Commentaire


                  • #10
                    Si le problème est réglé merci de l'indiquer.
                    Pour cela voir l'encadré ci-dessous.
                    Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
                    Confucius

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X