Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec 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 26/11/2010, 15h50   #1
Invité de passage
 
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 0
Points : 0
Par défaut [Aide pour un novice complet] Je n'arrive pas à importer une base de donnée dans MySQL..

Salut à tous !
Alors, voici mon problème. Je suis étudiant en sociologie et je dois pour mon mémoire de fin d'étude travailler sur la base de donnée de La Mediathèque. Les administrateurs de La Médiathèque m'ont fait un dump SQL de cette BDD, et il faut que je l'ouvre dans SPSS, qui est un logiciel de statistique.

Normalement, pour le faire, la procédure est celle-ci : je dois importer le fichier SQL dans MySQL, puis grâce à une driver ODBC, connecter SPSS à MySQL. Le soucis est que je n'arrive tout simplement pas à importer la base de donnée dans MySQL. Bon, désolé si le vocabulaire que j'utilise est pas le bon mais je découvre le MySQL uniquement pour importer cette base de donnée, j'y connais donc vraiment rien.

J'ai installé easyPHP, je gère donc MySQL à partir de phpMyAdmin. Quand j'ai importé pour la première fois le fichier SQL, il m'a dit que le fichier était trop gros. J'ai donc été dans PHP.ini et j'ai mis upload_max_filesize à 512M et post_max_size et memory_limit à 2000M. Bon, j'ai mis des valeurs énormes pour être sur que ça passe mais c'est peut-être n'importe quoi ? Le fichier que je dois importer comporte 5 tables et fait au total 48,3Mo.

J'ai réessayé et ça a pas marché non plus. En décochant "Permettre l'interruption de l'importation si la limite de temps est sur le point d'être atteinte." il y a une fatal error : timeout. Et si je coche l'option, il y a une erreur : il me demande de rechoisir le ficher SQL pour dépasser la limite de temps puis il me fait Error: 1046

Je n'y connait absolument RIEN en MySQL et je sais pas quoi faire. Est ce que vous auriez une idée de ce que je dois faire ? Merci beaucoup !
JolGloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2010, 14h10   #2
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 528
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 528
Points : 3 519
Points : 3 519
Saluton,
Parmi les choses dont il faut t'assurer, figure la compatibilité de la version MySQL d'EasyPHP avec celle dont est issu le dump MySQL.
Tu peux aussi scinder le dump en plusieurs fichiers.
L'un qui créerait les tables et leurs éventuelles contraintes (s'il y a des FOREIGN KEYS créer les tables mères avant les filles).
Puis un fichier pour les requêtes d'INSERT de chacune des tables (avec la même contrainte de priorité s'il y a des FOREIGN KEYS).
Cela devrait passer avec PHPMyAdmin.
Sinon il te reste la possibilité de passer en mode console pour exécuter le fichier.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2010, 15h09   #3
Invité de passage
 
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 0
Points : 0
Mmmh, le soucis est que je ne sais absolument pas comment faire tout ça : couper le fichier, je ne sais pas ce que c'est des FOREIGNKEYS ou des requêtes d'INSERT.
J'ai collé le contenu du fichier dans l'onglet SQL de phpMyAdmin et j'ai mis exécuter, mais ça n'a pas marché non plus.
Ptet je devrais demander physiquement à qqun qui s'y connait, parce que je crois pas que je vais m'en sortir.
JolGloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 10h15   #4
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 528
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 528
Points : 3 519
Points : 3 519
As-tu seulement essayé d'ouvrir le fichier dump avec le bloc-notes windows, par exemple ?
La curiosité est une qualité, c'est l'indiscrétion qui constitue un défaut.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 10h34   #5
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 957
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 10 957
Points : 18 163
Points : 18 163
Envoyer un message via MSN à CinePhil
Si le fichier est compatible, le plus simple est quand même de l'injecter par la ligne de commande. Voir cette discussion.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 21h10   #6
Invité de passage
 
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 0
Points : 0
Oui, j'ai ouvert le fichier avec Notepad++, mais vu mon manque de connaissance, je sais pas trop s'il y a truc qui cloche. En bas j'ai collé la structure du fichier. J'ai enlevé les tables, donc je sais pas si c'est très utile. J'ai essayé de n'importer que la dernière table, juste pour voir. Pour ce faire j'ai juste supprimé les autres tables, et ré enregistré le fichier. Mais ça n'a pas marché, j'ai eu cette erreur :

Erreur

requête SQL:

Code :
1
2
3
4
5
SELECT `comment`
FROM `phpmyadmin`.`pma_column_info`
WHERE db_name = '`memoire`'
AND table_name = ''
AND column_name = '(db_comment)'
MySQL a répondu:
Citation:
#2006 - MySQL server has gone away
Voici la structure du fichier :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
SQLyog Community Edition- MySQL GUI v6.56
MySQL - 4.0.15 : Database - memoire
*********************************************************************
*/


/*!40101 SET NAMES latin1 */;

/*!40101 SET SQL_MODE=''*/;

/*!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' */;

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `memoire`;

USE `memoire`;

/*Table structure for table `collections` */

DROP TABLE IF EXISTS `collections`;

CREATE TABLE `collections` (
  `cote_debut` varchar(6) NOT NULL default '',
  `cote_fin` varchar(6) NOT NULL default '',
  `collection` mediumblob
) TYPE=MyISAM;

/*Data for the table `collections` */

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

/*Table structure for table `interpretes_classiques` */

DROP TABLE IF EXISTS `interpretes_classiques`;

CREATE TABLE `interpretes_classiques` (
  `cote` char(6) NOT NULL default '',
  `interprete_nom` char(40) default NULL,
  `interprete_prenom` char(20) default '',
  KEY `cote` (`cote`)
) TYPE=MyISAM;

/*Data for the table `interpretes_classiques` */

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

/*Table structure for table `releases` */

DROP TABLE IF EXISTS `releases`;

CREATE TABLE `releases` (
  `cote` char(6) NOT NULL default '',
  `pays` char(3) NOT NULL default '',
  `label` char(30) default '',
  `barcode` decimal(13,0) NOT NULL default '0',
  `date_release` date NOT NULL default '0000-00-00',
  KEY `cote` (`cote`)
) TYPE=MyISAM;

/*Data for the table `releases` */

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

/*Table structure for table `titres_classiques` */

DROP TABLE IF EXISTS `titres_classiques`;

CREATE TABLE `titres_classiques` (
  `cote` char(6) NOT NULL default '',
  `compositeur_prenom` char(20) default NULL,
  `compositeur_nom` char(40) default NULL,
  `titre` char(60) NOT NULL default '',
  `annee_production_debut` decimal(4,0) NOT NULL default '0',
  `annee_production_fin` decimal(4,0) NOT NULL default '0',
  `annee_enregistrement_debut` decimal(4,0) NOT NULL default '0',
  `annee_enregistrement_fin` decimal(4,0) NOT NULL default '0',
  UNIQUE KEY `cote` (`cote`)
) TYPE=MyISAM;

/*Data for the table `titres_classiques` */

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

/*Table structure for table `titres_non_classiques` */

DROP TABLE IF EXISTS `titres_non_classiques`;

CREATE TABLE `titres_non_classiques` (
  `cote` char(6) NOT NULL default '',
  `collection_k` char(15) default NULL,
  `intereprete_prenom` char(20) NOT NULL default '',
  `intereprete_nom` char(40) NOT NULL default '',
  `titre` char(60) NOT NULL default '',
  `annee_production` decimal(4,0) NOT NULL default '0',
  `annee_enregistrement_debut` decimal(4,0) NOT NULL default '0',
  `annee_enregistrement_fin` decimal(4,0) NOT NULL default '0',
  KEY `cote` (`cote`)
) TYPE=MyISAM;

/*Data for the table `titres_non_classiques` */

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
JolGloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2010, 21h23   #7
Invité de passage
 
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 0
Points : 0
J'ai essayé de d'injecter le ficher par la ligne de commande, j'imagine que c'est par l'invite de commande MS DOS de Windows ??
Voilà la réponse :

Citation:
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
--------------------------------- -----------------------------
auto-rehash FALSE
character-sets-dir (No default value)
column-type-info FALSE
comments FALSE
compress FALSE
debug-check FALSE
debug-info FALSE
database (No default value)
default-character-set utf8
delimiter ;
vertical FALSE
force FALSE
named-commands FALSE
ignore-spaces FALSE
local-infile FALSE
no-beep FALSE
host localhost
html FALSE
xml FALSE
line-numbers TRUE
unbuffered FALSE
column-names TRUE
sigint-ignore FALSE
port 3306
prompt mysql>
quick FALSE
raw FALSE
reconnect FALSE
shared-memory-base-name (No default value)
socket /tmp/mysql.sock
ssl FALSE
ssl-ca (No default value)
ssl-capath (No default value)
ssl-cert (No default value)
ssl-cipher (No default value)
ssl-key (No default value)
ssl-verify-server-cert FALSE
table FALSE
user (No default value)
safe-updates FALSE
i-am-a-dummy FALSE
connect_timeout 0
max_allowed_packet 16777216
net_buffer_length 16384
select_limit 1000
max_join_size 1000000
secure-auth FALSE
show-warnings FALSE
JolGloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 14h06   #8
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 528
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 528
Points : 3 519
Points : 3 519
D'après le fichier dump il s'agit d'une version MySQL - 4.0.15 et les tables sont des MyISAM, qui ne poseront pas de problème avec les FOREIGN KEYS puisque ce moteur ne les gère pas.
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 04h39   #9
Invité de passage
 
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 0
Points : 0
Bon, ça s'améliore.
J'ai fait ça avec l'invite de commande de Windows :

Code :
mysql -uroot -p < dump.sql
J'ai tout de même eu une erreur :

Code :
ERROR 2006 (HY000) at line 139: MySQL server has gone away
Les données importées ont été plus importantes que d'habitude, là il a importé 55Mo au lieu de 29Mo, mais à mon avis l'import n'a pas été complet. Dans notepad++, le dump SQL comporte 157 lignes. J'imagine que l'import s'est arrêté à la ligne 139 ?

Qu'est ce que c'est que cette erreur 2006 ?
JolGloubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2010, 05h24   #10
Invité de passage
 
Inscription : novembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 6
Points : 0
Points : 0
Bon, j'ai trouvé, je crois que c'est bon.
J'ai trouvé la solution ici : http://dev.mysql.com/doc/refman/5.1/...too-large.html
J'ai changé les valeurs des 2 max_allowed_package dans my.ini à 16Mo.
Et ça marche, y'a pas eu d'erreur et j'ai maintenant un import de 87Mo.
Voilà voilà. Il me reste plus qu'à la lire dans SPSS avec le connecteur ODBC, en espérant que j'ai pas de pb
JolGloubi 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 21h08.


 
 
 
 
Partenaires

Hébergement Web