IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Récupérer le contenu d'une base de données


Sujet :

Administration MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2019
    Messages : 3
    Par défaut Récupérer le contenu d'une base de données
    Bonjour,

    Je suis en train d'essayer de récupérer le contenu d'un vieux site. Celui-ci se trouve sur une mysql 5.5 hebergée par OVH.
    Toutes les tables semblent intactes, mais j'ai un problème avec leur contenu.

    Plus précisément, le contenu semble être perdu dès qu'un caractère spécial a été employé.

    Concrètement, dans le cas de posts que blog que je voudrais récupérer, les contenus apparaissent comme ceci dans phpmyadmin:

    Nom : texte.JPG
Affichages : 229
Taille : 23,7 Ko

    J'ai essayé d'exporter toute la bdd, que ce soit en csv, xml, ... en utf8, en vain.

    Le contenu est-il réellement perdu ? Savez-vous comment je pourrais contourner le problème ?
    Le site en question était en php3 et a été laissé à l'abandon pendant pas mal d'années. Suite au passage automatique à une version plus récente de php, il a cessé de fonctionner.

    Je m'excuse d'avance si la réponse semble évidente, je suis novice en la matière.

    Merci beaucoup pour votre aide !

    Bien à vous,
    Romain

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 956
    Par défaut
    Faire un backup de la base avec mysqldump me parait une bonne solution.

    Il me semble incongru qu'on ne se soit pas aperçu de l'erreur directement sur le site web avant d'avoir tenté l'export...

  3. #3
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2019
    Messages : 3
    Par défaut
    Bonjour Michel,

    Merci pour le coup de main ! Je viens de faire le mysqldump.
    Même résultat, toutes les entrées sont tronquées comme dans phpmyadmin.

    Le site lui-même était inaccessible depuis plusieurs mois avant qu'on ne me demande d'y jeter un oeil aujourd'hui.
    Mais apparemment, il n'y avait pas vraiment de données manquantes quant le site était encore en ligne.

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 956
    Par défaut
    Bon, ça pue l'erreur lors de l'import.

    Juste pour le fun, sur les lignes déjà repérées, est-ce la fonction CHAR_LENGTH() est cohérente avec le contenu affiché ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2019
    Messages : 3
    Par défaut
    Oui, le nombre de caractères concorde.

    Je ne comprends pas ce qui a pu modifier le contenu de toute la db comme ça

  6. #6
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 956
    Par défaut
    Aujourd'hui on est en face du constat ; ça ne veut pas dire qu'hier c'était juste !
    L'erreur a pu perduré sans que personne n'ose la soulever.

    Dernier truc : si la base a activé les log binaires on peut partir dans l'analyse de ceux-ci.
    1- Espoir faible
    -- que les log binaires aient été activés
    -- que les fichiers n'ont pas été effacés depuis
    -- qu'on y trouve l'opération initiale prouvant que les données étaient intègres
    2- Est-ce que c'est rentable d'y passer autant de temps ?

    Au cas où l'utilitaire est mysqlbinlog

  7. #7
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 877
    Par défaut
    Salut à tous.

    Citation Envoyé par Bromf39
    Plus précisément, le contenu semble être perdu dès qu'un caractère spécial a été employé.
    Il tronque la ligne quand il rencontre le "è" pour tous vos exemples.

    Je me pose la question du type de charset ainsi que le collate qui a été utilisé pour la création de la table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'nom_de_votre_base';
    Quand Michel Priori vous demande :
    Citation Envoyé par Michel Priori
    Juste pour le fun, sur les lignes déjà repérées, est-ce la fonction CHAR_LENGTH() est cohérente avec le contenu affiché ?
    Vous répondez :
    Citation Envoyé par Bromf39
    Oui, le nombre de caractères concorde.
    Si votre réponse est correcte alors dans la table, la ligne n'est pas tronquée.

    @+

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/02/2007, 19h28
  2. Réponses: 9
    Dernier message: 06/07/2006, 18h41
  3. [MySQL] Afficher le contenu d'une base de données
    Par rastatom dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 17/05/2006, 16h46
  4. [Wamp] Récupérer la structure d'une base de données
    Par osopardo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 22/02/2006, 23h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo