Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2004, 15h47   #1
Invité de passage
 
Inscription : juin 2003
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 6
Points : 2
Points : 2
Par défaut Peut-on avoir confiance en mysqldump ?

Bonjour,
Déjà eu ce pb et je l'avais contourné mais cela m'inquiète un peu cette histoire.

J'ai un script shell qui me sauvegarde mes bases linux en notamment une base mysql avec la commande mysqldump.

Je viens d'essayer de créer une base sous mysql sous XP à partir de ce fichier dmp.
Cela plante sur des lignes contenant des caractères spéciaux dans des champs text (je stocke du rtf ou du html donc avec moult caractères \ et autres).

Je savais déjà qu'avec SQLyog cela merdait et j'avais contourné le pb avec l'option Copy Database de sqlyog.
Mais j'aimerais quand meme être blindé question sauvegardes journalières et donc j'ai testé une restauration par rapport à un mysqldump classique. Et ça coince !!

Est-ce un pb de paramètres ?

mysqldump $L_OWNER --user=$L_OWNER --password=$L_OWNER --result-file=$L_MYSQLDUMPF

pour l'instant j'utilise ça où nom de la base, user et password sont identiques et j'envoie cela dans un fichier.

Ce n'est pas possible qu'il y ait un tel pb de sauvegarde avec mysql dès qu'il y a un petit caractère particulier ????

Merci de vos réponses.
Eric
ROUMEG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2004, 16h00   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
tu pourrais nous montrer un petit exemple qui coince et le type de champs ?
je demande le type de champs parce qu'apparemment avec "BLOB" il n'y a pas de problème
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2004, 16h44   #3
Invité de passage
 
Inscription : juin 2003
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 6
Points : 2
Points : 2
Merci de ta réponse.
Ci après le fichier err généré. On le voit, cela plante tout de suite après la 1ere insertion car il y a un champs de type text qui contient des caractères rtf. Il double les \ mais apparemment cela ne suffit pas.


Code :
1
2
3
INSERT INTO ALL_COL_COMMENTS VALUES (647,'CRM4US','MYMENU','MNU_TYPE','Type','{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1036{\\fonttbl{\\f0\\fswiss\\fprq2\\fcharset0 Arial;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs20 1 - Module non executable\\par\r\n2 - Fen\\\'eatre WD\\par\r\n3 - Document Word\\par\r\n4 - Feuille Excel\\par\r\n5 - Access\\par\r\n6 - Navigateur\\par\r\n7 - Executable\\par\r\n8 - Crystal Report\\par\r\n}\r\n');
INSERT INTO ALL_COL_COMMENTS VALUES (648,'CRM4US','MYMENU','MNU_PARAM','Paramètres',NULL);
INSERT INTO ALL_COL_COMMENTS VALUES
[CUT]

Code :
1
2
Error : You have an error IN your SQL syntax.  CHECK the manual that corresponds TO your MySQL server version FOR the RIGHT syntax TO USE near ';
INSERT INTO ALL_COL_COMMENTS VALUES (648,'CRM4US','MYMENU','M
Voilà ou s'arrête l'import.
ROUMEG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2004, 16h53   #4
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
dans le dump essaye de mettre \\ seul puis \' seul pour voir lequel gêne

ca donne quoi si tu mets un type BLOB pour ton champ ?
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2004, 17h23   #5
Invité de passage
 
Inscription : juin 2003
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 6
Points : 2
Points : 2
Champs Blob, mème combat.
En plus, cela ne plante pas au premier enreg contenant des champs en rtf.
Vous pouvez reconstituer le pb avec ceci
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
CREATE TABLE T1ALL_COL_COMMENTS (
  COM_ID int(11) NOT NULL AUTO_INCREMENT,
  OWNER varchar(20) NOT NULL DEFAULT '',
  TABLE_NAME varchar(20) NOT NULL DEFAULT '',
  COLUMN_NAME varchar(20) NOT NULL DEFAULT '',
  COMMENTS varchar(100) DEFAULT NULL,
  DOCSUP blob,
  PRIMARY KEY  (COM_ID),
  UNIQUE KEY OWNER (OWNER,TABLE_NAME,COLUMN_NAME)
) TYPE=InnoDB ROW_FORMAT=DYNAMIC COMMENT='Table des commentaires colonnes';
 
--
-- Dumping data for table 'ALL_COL_COMMENTS'
--
 
 
INSERT INTO T1ALL_COL_COMMENTS VALUES (645,'CRM4US','MYMENU','MNU_ICO_CLOSE','N° Icone branche repliée','{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1036{\\fonttbl{\\f0\\fswiss\\fprq2\\fcharset0 Arial;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs20 ListeAjoute(\"MNU_ICO_OPEN\",gImage(\"LIVRE5-.BMP\"))\\par\r\nListeAjoute(\"MNU_ICO_OPEN\",gImage(\"LIVRE3-.BMP\"))\\par\r\nListeAjoute(\"MNU_ICO_OPEN\",gImage(\"ENGRENA-.BMP\"))\\par\r\nListeAjoute(\"MNU_ICO_OPEN\",gImage(\"EXCEL.ICO\"))\\par\r\nListeAjoute(\"MNU_ICO_OPEN\",gImage(\"WORD.ICO\"))\\par\r\nListeAjoute(\"MNU_ICO_OPEN\",gImage(\"DANGER-.ICO\"))\\par\r\nListeAjoute(\"MNU_ICO_OPEN\",gImage(\"DOS-.BMP\"))\\par\r\nListeAjoute(\"MNU_ICO_OPEN\",gImage(\"WEBFILE.ICO\"))\\par\r\nListeAjoute(\"MNU_ICO_OPEN\",gImage(\"BILAN.ICO\"))\\par\r\n}\r\n');
INSERT INTO T1ALL_COL_COMMENTS VALUES (646,'CRM4US','MYMENU','MNU_ICO_OPEN','N° Icone branche dépliée',NULL);
INSERT INTO T1ALL_COL_COMMENTS VALUES (647,'CRM4US','MYMENU','MNU_TYPE','Type','{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1036{\\fonttbl{\\f0\\fswiss\\fprq2\\fcharset0 Arial;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs20 1 - Module non executable\\par\r\n2 - Fen\\\'eatre WD\\par\r\n3 - Document Word\\par\r\n4 - Feuille Excel\\par\r\n5 - Access\\par\r\n6 - Navigateur\\par\r\n7 - Executable\\par\r\n8 - Crystal Report\\par\r\n}\r\n');
INSERT INTO T1ALL_COL_COMMENTS VALUES (652,'CRM4US','MYMENU','MNU_DESCRIPTION','Description de l\'option',NULL);
et cela ne plante pas sur le 645 qui contient du rtf mais sur le 647.
En fait le message indique l'erreur INSERT sur le 652 car il n'interprète pas un nouvel ordre.

et voici le contenu d'origine de la zone qui provoque le pb :
{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}}
\viewkind4\uc1\pard\f0\fs20 1 - Module non executable\par
2 - Fen\'eatre WD\par
3 - Document Word\par
4 - Feuille Excel\par
5 - Access\par
6 - Navigateur\par
7 - Executable\par
8 - Crystal Report\par
}
ROUMEG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2004, 17h34   #6
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
merci pour l'exemple je vais essayer chez moi .. mais pas avant la semaine prochaine

je ne t'oublierai pas parce que j'avais prévu de faire un système de sauvegarde automatique avec mysqldump donc faut pas que je l'utilise si ca ne fonctionne pas
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2004, 11h57   #7
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
et voila j'ai fait les tests et ce n'est pas gagné pour toi

j'ai pris exactement le code que tu m'a donné le 21 à 17h23 et je l'ai testé avec mysqlcc, phpmyadmin et en ligne de commande et je n'ai eu aucune erreur
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2004, 11h10   #8
Invité de passage
 
Inscription : juin 2003
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 6
Points : 2
Points : 2
Merci de ton suivi.

Je viens effectivement de télécharger mysqlcc et cela fonctionne.
Le problème est donc à chercher du côté de SQLyog.

Dommage, car j'apprécie beaucoup ce produit mais côté dump et execution de script batch, il y a des bogues.

Eric
ROUMEG est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h02.


 
 
 
 
Partenaires

Hébergement Web