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

SQL Procédural MySQL Discussion :

Conversion Myisam InnoDB error table full [MySQL-5.6]


Sujet :

SQL Procédural MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 391
    Points : 124
    Points
    124
    Par défaut Conversion Myisam InnoDB error table full
    Bonjour,
    j'ai une problème de conversion avec une table sur les 240.
    Un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ALTER TABLE db_logs ENGINE=INNODB;
    qui me donne
    Errors during migration from MyISAM to InnoDB ... few tables I see the error "SQL Error (1114): The table '#sql-667e_61' is full".
    Cette table comporte 60 000 lignes et fait 7.8 GO.
    La conversion va jusqu' à la ligne 30 000 !

    Les autres tables de moins de 3GO sont converties sans problème.

    J'ai essayé de créer un table identique vierge db_logs_innodb puis faire les insert depuis la table db_logs même problème même en mettant un autocommit=0 avant l'insert.

    J'ai regardé les valeurs innodb_file_per_table données sur certaines listes de diffusion mais je trouve pas cette variable.

    Des idées ??

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 391
    Points : 124
    Points
    124
    Par défaut
    Bonjour,
    en fait la conversion prend presque le double du file system utilisé en Myisam !

    Il faut donc prévoir grand !!

    De plus pour les tables de plus de 5 go le ALTER TABLE xxx ENGINE=INNODB ne marche pas !

    Il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Puis :
    SHOW CREATE TABLE db_logs \G
    Faire un copier coller de la réponse puis changer db_logs en db_logss
    set autocommit=0;
    INSERT INTO db_logss SELECT * FROM db_logs ORDER BY id;
    commit;
    DROP TABLE db_logs;
    ALTER TABLE db_logss RENAME db_logs;

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/11/2016, 00h16
  2. Réponses: 3
    Dernier message: 16/10/2015, 11h42
  3. [MySQL-5.1] conversion table myisam => innodb
    Par sirbaldur dans le forum Requêtes
    Réponses: 2
    Dernier message: 28/06/2013, 21h06
  4. Unknown table engine 'InnoDB' error 1286 sur Mysql
    Par screeminelle dans le forum Administration
    Réponses: 6
    Dernier message: 08/02/2011, 11h54

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