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 :

Plantage serveur MySQL : Récupération des données


Sujet :

Administration MySQL

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut Plantage serveur MySQL : Récupération des données
    Bonjour.
    Je travaille avec easy php 13.1 (oui c'est pas la dernière) le logiciel est lancé sur une clé USB.
    MYSQL 5.6.11
    Pendant que je modifiais ma BDD, l'ordinateur n'a plus reconnu la clé et le serveur de BDD a planté.
    Si j'essaie de le redémarrer, j'ai le message suivant :
    "Unespected end of Mysql...See log Files ?"
    Le log file, c'est :
    2017-10-09 16:54:11 13240 [Note] Plugin 'FEDERATED' is disabled.
    2017-10-09 16:54:11 2c10 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator.
    2017-10-09 16:54:11 13240 [Note] InnoDB: The InnoDB memory heap is disabled
    2017-10-09 16:54:11 13240 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
    2017-10-09 16:54:11 13240 [Note] InnoDB: Compressed tables use zlib 1.2.3
    2017-10-09 16:54:11 13240 [Note] InnoDB: Not using CPU crc32 instructions
    2017-10-09 16:54:11 13240 [Note] InnoDB: Initializing buffer pool, size = 16.0M
    2017-10-09 16:54:11 13240 [Note] InnoDB: Completed initialization of buffer pool
    2017-10-09 16:54:11 13240 [Note] InnoDB: Highest supported file format is Barracuda.
    2017-10-09 16:54:11 13240 [Note] InnoDB: The log sequence numbers 10698783 and 10698783 in ibdata files do not match the log sequence number 10698793 in the ib_logfiles!
    2017-10-09 16:54:11 13240 [Note] InnoDB: Database was not shutdown normally!
    2017-10-09 16:54:11 13240 [Note] InnoDB: Starting crash recovery.
    2017-10-09 16:54:11 13240 [Note] InnoDB: Reading tablespace information from the .ibd files...
    2017-10-09 16:54:11 13240 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace mysql/innodb_table_stats uses space ID: 1 at filepath: .\mysql\innodb_table_stats.ibd. Cannot open tablespace touslesport/multisports which uses space ID: 1 at filepath: .\touslesport\multisports.ibd
    InnoDB: Error: could not open single-table tablespace file .\touslesport\multisports.ibd

    InnoDB: We do not continue the crash recovery, because the table may become
    InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
    InnoDB: To fix the problem and start mysqld:
    InnoDB: 1) If there is a permission problem in the file and mysqld cannot
    InnoDB: open the file, you should modify the permissions.
    InnoDB: 2) If the table is not needed, or you can restore it from a backup,
    InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
    InnoDB: crash recovery and ignore that table.
    InnoDB: 3) If the file system or the disk is broken, and you cannot remove
    InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
    InnoDB: and force InnoDB to continue crash recovery here.
    Il y là une foule d'info (en anglais, donc que traduis mal).
    Je travaillais sur une BDD qui s'appelle touslesport.V2 et pas touslesport.
    Je travaillais sur une autre table que multisports.

    Comment puis-je récupérer ma structure et mes données ?

    Merci de votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Bonjour.
    Je joue à l'apprenti sorcier...
    J'ai réinstallé easy php ailleurs sur ma clé USB.
    Il fonctionne maintenant, le serveur de BDD se lance.
    J'ai copier le répertoire qui a le nom de ma BDD (avec les .frm, ibd et .opt qu'il contient) dans le répertoire EasyPHP-DevServer-13.1VC9\binaries\mysql\data
    J'ai lancé le serveur de BDD.
    Puis le batch suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    SET JOUR=%date:~-10,2%
    SET ANNEE=%date:~-4%
    SET MOIS=%date:~-7,2%
    SET HEURE=%time:~0,2%
    SET MINUTE=%time:~3,2%
    SET SECOND=%time:~-5,2%
     
    if "%time:~0,1%"==" " SET HEURE=0%HEURE:~1,1%
     
    SET REPERTOIR=E:\Projet20171008\DUMP
     
    SET FICHIER=%REPERTOIR%\Sauvegarde_du_%JOUR%_%MOIS%_%ANNEE%_A_%HEURE%_%MINUTE%.sql
     
    if not exist "%REPERTOIR%" md "%REPERTOIR%"
     
    E:\Projet20171008\EasyPHP-DevServer-13.1VC9\binaries\mysql\bin\mysqldump -u root --opt E:\Projet20171008\EasyPHP-DevServer-13.1VC9\binaries\mysql\data\touslesport.V2 -h localhost >  %FICHIER%
    Le fichier est bien créé mais vide.

    La fenêtre DOS affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    C:\Windows\system32>E:\Projet20171008\EasyPHP-DevServer-13.1VC9\binaries\mysql\b
    in\mysqldump -u root --opt E:\Projet20171008\EasyPHP-DevServer-13.1VC9\binaries\
    mysql\data\touslesport.V2 -h localhost  1>E:\Projet20171008\DUMP\Sauvegarde_du_1
    0_10_2017_A_14_57.sql
    mysqldump: Got error: 1059: Identifier name 'e:\projet20171008\easyphp-devserver
    -13.1vc9\binaries\mysql\data\touslesport.v2' is too long when selecting the data
    base
    La batch est dans E:\Projet20171008\BAT et l'exe mysqldump.exe dans E:\Projet20171008\EasyPHP-DevServer-13.1VC9\binaries\mysql\bin

    Merci de me m'indiquer les erreurs que j'ai fait et/ou de m'indiquer comment m'y prendre.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    L'erreur évolue mais toujours rien d'interessant dans mon Dump :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    -- MySQL dump 10.13  Distrib 5.6.11, for Win32 (x86)
    --
    -- Host: localhost    Database: touslesport.v2
    -- ------------------------------------------------------
    -- Server version	5.6.11-log
     
    /*!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 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE='+00:00' */;
    /*!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 */;
    fenêtre DOS :
    C:\Windows\system32>E:\Projet20171008\EasyPHP-DevServer-13.1VC9\binaries\mysql\b
    in\mysqldump -u root --opt touslesport.v2 -h localhost 1>E:\Projet20171008\DUMP
    \Sauvegarde_du_10_10_2017_A_16_15.sql
    mysqldump: Got error: 1146: Table 'touslesport.v2.2017resultats' doesn't exist w
    hen using LOCK TABLES
    Il ne trouve pas de table, cela veut dire que mysql a des infos sur cette BDD en dehors du répertoire qui a le nom de la bdd et qui est dans EasyPHP-DevServer-13.1VC9\binaries\mysql\data mais où ?

  4. #4
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Le problème vient visiblement du fichier ibdata1.
    J'ai remplacé celui du easy php nouvellement installé et hop même erreur : "Unespected end of Mysql...See log Files ?"
    Est t-il possible de corriger-shrinker(78M) ce fichier et comment ?

    Citation Envoyé par 69Pierre Voir le message
    Bonjour.
    Je travaille avec easy php 13.1 (oui c'est pas la dernière) le logiciel est lancé sur une clé USB.
    MYSQL 5.6.11
    Pendant que je modifiais ma BDD, l'ordinateur n'a plus reconnu la clé et le serveur de BDD a planté.
    Si j'essaie de le redémarrer, j'ai le message suivant :
    "Unespected end of Mysql...See log Files ?"
    Le log file, c'est :
    Il y là une foule d'info (en anglais, donc que traduis mal).
    Je travaillais sur une BDD qui s'appelle touslesport.V2 et pas touslesport.
    Je travaillais sur une autre table que multisports.

    Comment puis-je récupérer ma structure et mes données ?

    Merci de votre aide.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 770
    Points : 52 726
    Points
    52 726
    Billets dans le blog
    5
    Par défaut
    Apprenez qu'une base de données, c'est pas des petits bouts de fichiers qu'on colle au gré du vent dans un répertoire. Si c'était cela, alors de simple fichier texte aurait suffit !
    Apprenez aussi que bricoler une base, sensé contenir des données généralement sensible, sur une clef USB, c'est aussi stupide que de faire Paris Marseille en vélo sur autoroute.

    Bref, avant d'utiliser un outil on se renseigne, on apprend...

    Et vous verrez que lorsque l'on fait n'importe quoi avec un outil qui doit être utilisé à bon escient cela ne peut que se traduire mal.

    En conclusion il n'existe pas d'outil magique pour réparer les conséquences de l'utilisation parfaitement stupide que vous avez eut de MySQL !

    C'est pour cela que personne ne vous a répondu dans ce forum.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Bonjour.
    J'espère que ça vous a fait du bien.
    Citation Envoyé par SQLpro Voir le message
    Apprenez qu'une base de données, c'est pas des petits bouts de fichiers qu'on colle au gré du vent dans un répertoire. Si c'était cela, alors de simple fichier texte aurait suffit !
    J'ai bien compris, j'espérai juste aller un peu plus loin.
    Citation Envoyé par SQLpro Voir le message
    Apprenez aussi que bricoler une base, sensé contenir des données généralement sensible, sur une clef USB, c'est aussi stupide que de faire Paris Marseille en vélo sur autoroute.
    Il n'y a aucune données sensibles dans ma base.
    Pour Paris Marseille à vélo, je suis preneur.
    Rassurez vous je ne prends jamais l’autoroute à vélo.
    Citation Envoyé par SQLpro Voir le message
    Bref, avant d'utiliser un outil on se renseigne, on apprend...
    C'est ce que je fais.
    Citation Envoyé par SQLpro Voir le message
    Et vous verrez que lorsque l'on fait n'importe quoi avec un outil qui doit être utilisé à bon escient cela ne peut que se traduire mal.
    ???Ca doit sûrement vouloir dire quelque chose.
    Citation Envoyé par SQLpro Voir le message
    En conclusion il n'existe pas d'outil magique pour réparer les conséquences de l'utilisation parfaitement stupide que vous avez eut de MySQL !
    Ca faisait partie de ma question, j'ai maintenant la réponse.
    Merci.
    Citation Envoyé par SQLpro Voir le message
    C'est pour cela que personne ne vous a répondu dans ce forum.

    A +
    Il n'y a là aucun problème.

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Avez-vous fait des sauvegardes, au moins avec la commande mysqldump ou un outil qui fait l'équivalent (exporter depuis phpMyAdmin par exemple) ?

    Si oui :
    1) Réinstallez un MySQL tout neuf ;
    2) Rechargez votre sauvegarde.
    3) Vérifiez que ça fonctionne.

    Si non :
    1) Pleurez !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Bonjour.

    Non, je n'ai pas fait de Dump, sinon...
    Mais je n'ai aucune raison de pleurer, il n'y a pas de données de valeur dans ce que je fais.
    Je me demandais si le ibdata1 est réparable.
    Si ce problème de taille du ibdata1 est gérable et comment.
    Si, à partir d'une version ultérieure de innodb (de mysql) ce problème a été réglé.

    Voilà ce que je cherche à savoir maintenant.

    PS : pourquoi "au moins avec mysqldump", ce n'est pas recommandé ?

  9. #9
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par 69Pierre Voir le message
    Non, je n'ai pas fait de Dump, sinon...
    Dommage !
    À prévoir d'urgence : un petit script pour automatiser la sauvegarde.

    Mais je n'ai aucune raison de pleurer, il n'y a pas de données de valeur dans ce que je fais.
    Donc vous pouvez recommencer votre BDD à zéro sans problème ? Ouf !

    Je me demandais si le ibdata1 est réparable.
    Généralement non.

    Si ce problème de taille du ibdata1 est gérable et comment.
    ibdata1 et les ib_logfile sont dépendants.
    Recharger un ibdata1 tout seul ne fonctionne pas.
    Recharger l'ensemble peut peut-être fonctionner s'il n'y a pas eu de transactions qui rend l'ensemble incohérent.

    Si, à partir d'une version ultérieure de innodb (de mysql) ce problème a été réglé.
    Quel problème ?
    ibdata1 est le fichier qui contient les données des tables InnoDB.

    PS : pourquoi "au moins avec mysqldump", ce n'est pas recommandé ?
    Si, mysqldump peut convenir. En principe et si je comprends bien la doc, il peut sauvegarder la BDD en préservant la cohérence des données, même si des modifications de données interviennent durant la sauvegarde.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Merci CinePhil.

  11. #11
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    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 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut à tous.

    Citation Envoyé par 69Pierre
    Je me demandais si le ibdata1 est réparable.
    Que vous ayez eu un plantage (je parle de votre premier message), cela est réparable en faisant un "repair" sur toutes vos tables.
    Et je dirais même que ce n'est pas bien grave. Cela m'arrive assez souvent.
    Mais après ce premier plantage, vous venez bidouiller en créant un second plantage et là, on ne peut plus rien faire pour vous.

    Pour répondre à votre question, non, on ne peut pas réparer le fichier "ibdata1" !
    Alors que faire ? Tout simplement réinstaller une sauvegarde comme le conseil si judicieusement CinePhil.
    Mais voilà, si vous n'avez pas fait de sauvegarde, on ne peut pas vous aider.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  12. #12
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Merci.
    Je note le "repair".

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Récupération des données sur serveur MySQL
    Par Thibault85 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 04/06/2014, 09h38
  2. Réponses: 1
    Dernier message: 26/09/2010, 00h25
  3. Réponses: 33
    Dernier message: 20/08/2008, 14h38
  4. [MySQL] problème lors de la récupération des données à modifier mysql
    Par brajae85 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/05/2008, 01h36
  5. récupération des données < à la date du jour mysql
    Par maysa dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/07/2007, 21h17

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