[Doc] Comment découper une sauvegarde SQL

Découvrez ici une liste de documents concernant phpBB: son installation, sa mise à jour et enfin son utilisation.
En bref, apprenez ici à vous servir de phpBB2!

Modérateur: Equipe

[Doc] Comment découper une sauvegarde SQL

Messagede and1hotsauce le 16 Oct 2005 à 20:47

Comment découper une sauvegarde en petits morceaux

I) Introduction.

Lorsqu' une sauvegarde est assez conséquente (par exemple : 7mo) , il n' est pas possible de la réinjecter en une seule fois dans phpmyadmin.

Dans cette documentation, on va voir comment découper les grosses sauvergardes (qui sont sous forme .sql) pour pouvoir les envoyer à phpmyadmin.

II) Decoupage
    II. 1) Comment faire la sauvegarde ?

    Consultez ce lien : Faire une sauvegarde

    II. 2) Où découper ?

    Ouvrez le fichier de sauvegarde (.sql) avec une éditeur (par exple : wordpad)

    Rem : Evitez blocnote :).

    Une fois votre fichier ouvert, vous avez quelque chose comme ceci :


    Code: Tout sélectionner
    --
    -- Structure de la table `phpbb_smilies`
    --

    CREATE TABLE `phpbb_smilies` (
      `smilies_id` smallint(5) unsigned NOT NULL auto_increment,
      `code` varchar(50) collate latin1_general_ci default NULL,
      `smile_url` varchar(100) collate latin1_general_ci default NULL,
      `emoticon` varchar(75) collate latin1_general_ci default NULL,
      PRIMARY KEY  (`smilies_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=44 ;

    --
    -- Contenu de la table `phpbb_smilies`
    --

    INSERT INTO `phpbb_smilies` VALUES (1, ':D', 'icon_biggrin1.gif', 'Very Happy');
    INSERT INTO `phpbb_smilies` VALUES (3, ':grin:', 'icon_biggrin1.gif', 'Very Happy');
    INSERT INTO `phpbb_smilies` VALUES (4, ':)', 'icon_smile1.gif', 'Smile');
    INSERT INTO `phpbb_smilies` VALUES (5, ':-)', 'icon_smile1.gif', 'Smile');
    INSERT INTO `phpbb_smilies` VALUES (6, ':smile:', 'icon_smile1.gif', 'Smile');
    INSERT INTO `phpbb_smilies` VALUES (7, ':(', 'icon_sad1.gif', 'Sad');
    INSERT INTO `phpbb_smilies` VALUES (8, ':-(', 'icon_sad1.gif', 'Sad');
    INSERT INTO `phpbb_smilies` VALUES (9, ':sad:', 'icon_sad1.gif', 'Sad');
    INSERT INTO `phpbb_smilies` VALUES (10, ':o', 'icon_surprised1.gif', 'Surprised');
    INSERT INTO `phpbb_smilies` VALUES (11, ':-o', 'icon_surprised1.gif', 'Surprised');
    INSERT INTO `phpbb_smilies` VALUES (12, ':eek:', 'icon_surprised1.gif', 'Surprised');
    INSERT INTO `phpbb_smilies` VALUES (13, ':ho:', 'icon_eek1.gif', 'Shocked');
    INSERT INTO `phpbb_smilies` VALUES (14, ':?', 'icon_confused1.gif', 'Confused');
    INSERT INTO `phpbb_smilies` VALUES (15, ':-?', 'icon_confused1.gif', 'Confused');
    INSERT INTO `phpbb_smilies` VALUES (16, ':???:', 'icon_confused1.gif', 'Confused');
    INSERT INTO `phpbb_smilies` VALUES (17, '8)', 'icon_cool1.gif', 'Cool');
    INSERT INTO `phpbb_smilies` VALUES (18, '8-)', 'icon_cool1.gif', 'Cool');
    INSERT INTO `phpbb_smilies` VALUES (19, ':cool:', 'icon_cool1.gif', 'Cool');
    INSERT INTO `phpbb_smilies` VALUES (20, '8D', 'icon_yeah1.gif', 'Laughing');
    INSERT INTO `phpbb_smilies` VALUES (21, ':x', 'icon_mad1.gif', 'Mad');
    INSERT INTO `phpbb_smilies` VALUES (22, ':-x', 'icon_mad1.gif', 'Mad');
    INSERT INTO `phpbb_smilies` VALUES (23, ':mad:', 'icon_mad1.gif', 'Mad');
    INSERT INTO `phpbb_smilies` VALUES (24, ':P', 'icon_razz1.gif', 'Razz');
    INSERT INTO `phpbb_smilies` VALUES (25, ':-P', 'icon_razz1.gif', 'Razz');
    INSERT INTO `phpbb_smilies` VALUES (26, ':razz:', 'icon_razz1.gif', 'Razz');
    INSERT INTO `phpbb_smilies` VALUES (27, ':oops:', 'icon_redface.gif', 'Embarassed');
    INSERT INTO `phpbb_smilies` VALUES (28, ':cry:', 'icon_cry1.gif', 'Crying or Very sad');
    INSERT INTO `phpbb_smilies` VALUES (29, '§(', 'icon_evil1.gif', 'Evil or Very Mad');
    INSERT INTO `phpbb_smilies` VALUES (30, '§D', 'icon_twisted1.gif', 'Twisted Evil');
    INSERT INTO `phpbb_smilies` VALUES (31, ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes');
    INSERT INTO `phpbb_smilies` VALUES (32, ':wink:', 'icon_wink1.gif', 'Wink');
    INSERT INTO `phpbb_smilies` VALUES (33, ';)', 'icon_wink1.gif', 'Wink');
    INSERT INTO `phpbb_smilies` VALUES (34, ';-)', 'icon_wink1.gif', 'Wink');
    INSERT INTO `phpbb_smilies` VALUES (35, ':!:', 'icon_exclaim1.gif', 'Exclamation');
    INSERT INTO `phpbb_smilies` VALUES (43, ':?:', 'icon_question1.gif', 'ha bon ?');
    INSERT INTO `phpbb_smilies` VALUES (37, '/?/', 'icon_idea1.gif', 'Idea');
    INSERT INTO `phpbb_smilies` VALUES (38, ':>:', 'icon_arrow1.gif', 'Arrow');
    INSERT INTO `phpbb_smilies` VALUES (39, ':|', 'icon_neutral1.gif', 'Neutral');
    INSERT INTO `phpbb_smilies` VALUES (40, ':-|', 'icon_neutral1.gif', 'Neutral');
    INSERT INTO `phpbb_smilies` VALUES (41, ':neutral:', 'icon_neutral1.gif', 'Neutral');
    INSERT INTO `phpbb_smilies` VALUES (42, ':-D', 'icon_mrgreen1.gif', 'Mr. Green');



    Toute ligne qui commence par -- est une commentaire et donc pas nécéssaire pour réinjecter dans la base.

    Vous pouvez découper la ou vous voyez un ; (point-virgule)

    Par exple, le code SQL ci-dessus peut être découper comme ceci :

    Code: Tout sélectionner
    CREATE TABLE `phpbb_smilies` (
      `smilies_id` smallint(5) unsigned NOT NULL auto_increment,
      `code` varchar(50) collate latin1_general_ci default NULL,
      `smile_url` varchar(100) collate latin1_general_ci default NULL,
      `emoticon` varchar(75) collate latin1_general_ci default NULL,
      PRIMARY KEY  (`smilies_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=44 ;


    et

    Code: Tout sélectionner
    INSERT INTO `phpbb_smilies` VALUES (1, ':D', 'icon_biggrin1.gif', 'Very Happy');
    INSERT INTO `phpbb_smilies` VALUES (3, ':grin:', 'icon_biggrin1.gif', 'Very Happy');
    INSERT INTO `phpbb_smilies` VALUES (4, ':)', 'icon_smile1.gif', 'Smile');
    INSERT INTO `phpbb_smilies` VALUES (5, ':-)', 'icon_smile1.gif', 'Smile');
    INSERT INTO `phpbb_smilies` VALUES (6, ':smile:', 'icon_smile1.gif', 'Smile');
    INSERT INTO `phpbb_smilies` VALUES (7, ':(', 'icon_sad1.gif', 'Sad');
    INSERT INTO `phpbb_smilies` VALUES (8, ':-(', 'icon_sad1.gif', 'Sad');
    INSERT INTO `phpbb_smilies` VALUES (9, ':sad:', 'icon_sad1.gif', 'Sad');
    INSERT INTO `phpbb_smilies` VALUES (10, ':o', 'icon_surprised1.gif', 'Surprised');
    INSERT INTO `phpbb_smilies` VALUES (11, ':-o', 'icon_surprised1.gif', 'Surprised');
    INSERT INTO `phpbb_smilies` VALUES (12, ':eek:', 'icon_surprised1.gif', 'Surprised');
    INSERT INTO `phpbb_smilies` VALUES (13, ':ho:', 'icon_eek1.gif', 'Shocked');
    INSERT INTO `phpbb_smilies` VALUES (14, ':?', 'icon_confused1.gif', 'Confused');
    INSERT INTO `phpbb_smilies` VALUES (15, ':-?', 'icon_confused1.gif', 'Confused');
    INSERT INTO `phpbb_smilies` VALUES (16, ':???:', 'icon_confused1.gif', 'Confused');
    INSERT INTO `phpbb_smilies` VALUES (17, '8)', 'icon_cool1.gif', 'Cool');
    INSERT INTO `phpbb_smilies` VALUES (18, '8-)', 'icon_cool1.gif', 'Cool');
    INSERT INTO `phpbb_smilies` VALUES (19, ':cool:', 'icon_cool1.gif', 'Cool');
    INSERT INTO `phpbb_smilies` VALUES (20, '8D', 'icon_yeah1.gif', 'Laughing');
    INSERT INTO `phpbb_smilies` VALUES (21, ':x', 'icon_mad1.gif', 'Mad');
    INSERT INTO `phpbb_smilies` VALUES (22, ':-x', 'icon_mad1.gif', 'Mad');
    INSERT INTO `phpbb_smilies` VALUES (23, ':mad:', 'icon_mad1.gif', 'Mad');
    INSERT INTO `phpbb_smilies` VALUES (24, ':P', 'icon_razz1.gif', 'Razz');
    INSERT INTO `phpbb_smilies` VALUES (25, ':-P', 'icon_razz1.gif', 'Razz');
    INSERT INTO `phpbb_smilies` VALUES (26, ':razz:', 'icon_razz1.gif', 'Razz');
    INSERT INTO `phpbb_smilies` VALUES (27, ':oops:', 'icon_redface.gif', 'Embarassed');
    INSERT INTO `phpbb_smilies` VALUES (28, ':cry:', 'icon_cry1.gif', 'Crying or Very sad');
    INSERT INTO `phpbb_smilies` VALUES (29, '§(', 'icon_evil1.gif', 'Evil or Very Mad');
    INSERT INTO `phpbb_smilies` VALUES (30, '§D', 'icon_twisted1.gif', 'Twisted Evil');
    INSERT INTO `phpbb_smilies` VALUES (31, ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes');
    INSERT INTO `phpbb_smilies` VALUES (32, ':wink:', 'icon_wink1.gif', 'Wink');
    INSERT INTO `phpbb_smilies` VALUES (33, ';)', 'icon_wink1.gif', 'Wink');
    INSERT INTO `phpbb_smilies` VALUES (34, ';-)', 'icon_wink1.gif', 'Wink');
    INSERT INTO `phpbb_smilies` VALUES (35, ':!:', 'icon_exclaim1.gif', 'Exclamation');
    INSERT INTO `phpbb_smilies` VALUES (43, ':?:', 'icon_question1.gif', 'ha bon ?');
    INSERT INTO `phpbb_smilies` VALUES (37, '/?/', 'icon_idea1.gif', 'Idea');
    INSERT INTO `phpbb_smilies` VALUES (38, ':>:', 'icon_arrow1.gif', 'Arrow');
    INSERT INTO `phpbb_smilies` VALUES (39, ':|', 'icon_neutral1.gif', 'Neutral');
    INSERT INTO `phpbb_smilies` VALUES (40, ':-|', 'icon_neutral1.gif', 'Neutral');
    INSERT INTO `phpbb_smilies` VALUES (41, ':neutral:', 'icon_neutral1.gif', 'Neutral');
    INSERT INTO `phpbb_smilies` VALUES (42, ':-D', 'icon_mrgreen1.gif', 'Mr. Green');


    En général, c' est le nombre d' insertion qui est trop gros (par exemple, si un forum a trop de post). Les insertion se font par la commande "INSERT INTO"

    On peut donc découper l' ensemble des insertions ci-dessus (dernier code)
    comme ceci :

    Code: Tout sélectionner
    INSERT INTO `phpbb_smilies` VALUES (1, ':D', 'icon_biggrin1.gif', 'Very Happy');
    INSERT INTO `phpbb_smilies` VALUES (3, ':grin:', 'icon_biggrin1.gif', 'Very Happy');
    INSERT INTO `phpbb_smilies` VALUES (4, ':)', 'icon_smile1.gif', 'Smile');
    INSERT INTO `phpbb_smilies` VALUES (5, ':-)', 'icon_smile1.gif', 'Smile');
    INSERT INTO `phpbb_smilies` VALUES (6, ':smile:', 'icon_smile1.gif', 'Smile');
    INSERT INTO `phpbb_smilies` VALUES (7, ':(', 'icon_sad1.gif', 'Sad');
    INSERT INTO `phpbb_smilies` VALUES (8, ':-(', 'icon_sad1.gif', 'Sad');
    INSERT INTO `phpbb_smilies` VALUES (9, ':sad:', 'icon_sad1.gif', 'Sad');
    INSERT INTO `phpbb_smilies` VALUES (10, ':o', 'icon_surprised1.gif', 'Surprised');
    INSERT INTO `phpbb_smilies` VALUES (11, ':-o', 'icon_surprised1.gif', 'Surprised');
    INSERT INTO `phpbb_smilies` VALUES (12, ':eek:', 'icon_surprised1.gif', 'Surprised');
    INSERT INTO `phpbb_smilies` VALUES (13, ':ho:', 'icon_eek1.gif', 'Shocked');
    INSERT INTO `phpbb_smilies` VALUES (14, ':?', 'icon_confused1.gif', 'Confused');
    INSERT INTO `phpbb_smilies` VALUES (15, ':-?', 'icon_confused1.gif', 'Confused');
    INSERT INTO `phpbb_smilies` VALUES (16, ':???:', 'icon_confused1.gif', 'Confused');
    INSERT INTO `phpbb_smilies` VALUES (17, '8)', 'icon_cool1.gif', 'Cool');
    INSERT INTO `phpbb_smilies` VALUES (18, '8-)', 'icon_cool1.gif', 'Cool');
    INSERT INTO `phpbb_smilies` VALUES (19, ':cool:', 'icon_cool1.gif', 'Cool');
    INSERT INTO `phpbb_smilies` VALUES (20, '8D', 'icon_yeah1.gif', 'Laughing');

    et
    Code: Tout sélectionner
    INSERT INTO `phpbb_smilies` VALUES (21, ':x', 'icon_mad1.gif', 'Mad');
    INSERT INTO `phpbb_smilies` VALUES (22, ':-x', 'icon_mad1.gif', 'Mad');
    INSERT INTO `phpbb_smilies` VALUES (23, ':mad:', 'icon_mad1.gif', 'Mad');
    INSERT INTO `phpbb_smilies` VALUES (24, ':P', 'icon_razz1.gif', 'Razz');
    INSERT INTO `phpbb_smilies` VALUES (25, ':-P', 'icon_razz1.gif', 'Razz');
    INSERT INTO `phpbb_smilies` VALUES (26, ':razz:', 'icon_razz1.gif', 'Razz');
    INSERT INTO `phpbb_smilies` VALUES (27, ':oops:', 'icon_redface.gif', 'Embarassed');
    INSERT INTO `phpbb_smilies` VALUES (28, ':cry:', 'icon_cry1.gif', 'Crying or Very sad');
    INSERT INTO `phpbb_smilies` VALUES (29, '§(', 'icon_evil1.gif', 'Evil or Very Mad');
    INSERT INTO `phpbb_smilies` VALUES (30, '§D', 'icon_twisted1.gif', 'Twisted Evil');
    INSERT INTO `phpbb_smilies` VALUES (31, ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes');
    INSERT INTO `phpbb_smilies` VALUES (32, ':wink:', 'icon_wink1.gif', 'Wink');
    INSERT INTO `phpbb_smilies` VALUES (33, ';)', 'icon_wink1.gif', 'Wink');
    INSERT INTO `phpbb_smilies` VALUES (34, ';-)', 'icon_wink1.gif', 'Wink');
    INSERT INTO `phpbb_smilies` VALUES (35, ':!:', 'icon_exclaim1.gif', 'Exclamation');
    INSERT INTO `phpbb_smilies` VALUES (43, ':?:', 'icon_question1.gif', 'ha bon ?');
    INSERT INTO `phpbb_smilies` VALUES (37, '/?/', 'icon_idea1.gif', 'Idea');
    INSERT INTO `phpbb_smilies` VALUES (38, ':>:', 'icon_arrow1.gif', 'Arrow');
    INSERT INTO `phpbb_smilies` VALUES (39, ':|', 'icon_neutral1.gif', 'Neutral');
    INSERT INTO `phpbb_smilies` VALUES (40, ':-|', 'icon_neutral1.gif', 'Neutral');
    INSERT INTO `phpbb_smilies` VALUES (41, ':neutral:', 'icon_neutral1.gif', 'Neutral');
    INSERT INTO `phpbb_smilies` VALUES (42, ':-D', 'icon_mrgreen1.gif', 'Mr. Green');


    Rem : Ici ce n' est que découper en 2, on peut découper en 3, en 4, en 8 ou même à chaque ; si on le désire... (mais seulement si on a du temps à perdre :) pour cette dernière solution)

III) Reinjection

Il suffit d' aller dans la partie SQL de votre phpmyadmin :
Image

De copier chaque partie découpée, et de coller dans la zone de texte et d' envoyer.

IV) Encore des erreurs ?

  • requête SQL: (suivit du code entré) : Dans ce cas, c' est que vous avez découpé ailleur qu' après un ;
  • Duplicate entry for ... : Vous avez envoyé a phpmyadmin deux fois la même requête :)

    cette erreur survient notamment si vous decoupez de telle manière :
    Code: Tout sélectionner
    INSERT INTO `phpbb_smilies` VALUES (30, '§D', 'icon_twisted1.gif', 'Twisted Evil');
    INSERT INTO `phpbb_smilies` VALUES (31, ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes');
    INSERT INTO `phpbb_smilies` VALUES (32, ':wink:', 'icon_wink1.gif', 'Wink');
    en 2 morceau (par exple) comme ca :
    Code: Tout sélectionner
    INSERT INTO `phpbb_smilies` VALUES (30, '§D', 'icon_twisted1.gif', 'Twisted Evil');
    INSERT INTO `phpbb_smilies` VALUES (31, ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes');

    et
    Code: Tout sélectionner
    INSERT INTO `phpbb_smilies` VALUES (31, ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes');
    INSERT INTO `phpbb_smilies` VALUES (32, ':wink:', 'icon_wink1.gif', 'Wink');


    Dans cet exemple la 2eme requete
    Code: Tout sélectionner
    INSERT INTO `phpbb_smilies` VALUES (31, ':roll:', 'icon_rolleyes.gif', 'Rolling Eyes');
    est exécutée 2 fois ==> Erreur.
  • Le document ne contient aucune donnée : Votre découpe est encore trop grande, découpez en plus petit morceaux
Avatar de l’utilisateur
and1hotsauce
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 3518
Inscription: 19 Oct 2003 à 14:58
Localisation: belgique, mons

Retourner vers [phpBB 2.0.x] Forum de documentation

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité