[Mysql] Kan niet importen in phpmyadmin

Pagina: 1
Acties:
  • 116 views sinds 30-01-2008
  • Reageer

  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Hallo,

Als ik mijn database met de mySQL Administrator GUI export naar een .sql bestand, en deze probeer te importen met phpmyadmin, dan krijg ik allemaal errors dat mijn syntax niet goed is, hoe kan dit?

hand·te·ke·ning (de ~ (v.))


Verwijderd

Eigenlijk geef je zelf het antwoord al, je syntax (dus je SQL query's) bevatten fouten.

Check deze eens en probeer het nog eens :) .

Lijkt mij toch een vrij voor de hand liggende oplossing.

[ Voor 23% gewijzigd door Verwijderd op 23-09-2005 22:07 ]


  • nightowl
  • Registratie: April 2002
  • Laatst online: 14-03-2009

nightowl

always too early to sleep

Zonder meer gezien te hebben zegt mijn glazen bol dat je eens moet kijken of er in je .sql bestand zgn. comments aan de statements zijn toegevoegd. Dit is vaak een bron van foutmeldingen. Daarnaast gaat de import ook vaak niet goed als de encoding in het .sql bestand is meegegeven. Een derde bron van foutmeldingen is de toevoeging achter een veld: " Default '' "

Het zijn dus wel syntax errors maar de oplossing is in dit geval voor een leek niet altijd zo voordehand liggend. :)

Ik pas in mijn jas. Mijn jas past in mijn tas. Dus ik pas in mijn tas.


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Dark Wanderer,

Wat heb je zelf al geprobeerd en gedaan om deze vraag te beantwoorden? :) Ik mis in je topicstart een stuk eigen inzet en dat vinden we op GoT wel erg belangrijk :)

Heb je bijvoorbeeld die SQL dump al eens open gedaan? Al eens de handleiding gelezen van MySQL administrator? Al eens gezocht op die foutmelding? :)

Pas je topicstart nog even aan en vertel ons nog even wat je geprobeerd hebt :)

  • Pacjack
  • Registratie: Oktober 2001
  • Laatst online: 21-08 00:28
Verder ben ik wel benieuwd naar de precieze foutmelding. Bij welke query gaat het mis?

⌘ | deze gebruiker weet waar zijn handdoek is


  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Nogmaals, ik maak vanuit de MySQL administrator een BACKUP in een .sql vorm. Die import ik via phpmyadmin naar een andere database, en dan krijg ik een syntax error, overal, als ik het ene fix is het andere weer niet goed

hand·te·ke·ning (de ~ (v.))


  • nightowl
  • Registratie: April 2002
  • Laatst online: 14-03-2009

nightowl

always too early to sleep

Dark Wanderer: heb je de post van elevator ook gelezen? Je geeft ons niet echt veel informatie. Kun je je instellingen geven en (een stuk) van je .sql file hier dumpen?

Ik pas in mijn jas. Mijn jas past in mijn tas. Dus ik pas in mijn tas.


Verwijderd

Waarom doe je zo moeilijk?

Ik begrijp dat je een database wilt backuppen op het ene systeem, en restoren op het andere.

Je hebt verdomd weinig info gegeven tav. waar e.e.a. op draait. Als het linux machines zijn, even mysql stoppen en de gehele inhoud van /var/lib/mysql kopieren van de ene machine naar de andere. Dan mysql weer starten en voila.

  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Het is als volgt. Ik heb op mijn thuiscomputer een mysql server draaien (op windows), en daar heb ik een database op ontworpen. Ik heb allee sinds kort een webserver gehuurd (www.10eurohost.nl), en die wil die .sql maar niet importen. Volgens mij heeft het te maken met het feit dat ik thuis met InnoDB draai ofzo ( ik heb er zelf ook niet zo veel verstand van). In de sql staat zoals iets als "ENGINE=innodb", na de ) van create table().

Kunnen jullie er nu meer mee?

Groeten
Marco

hand·te·ke·ning (de ~ (v.))


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Volgens mij zijn de verzoeken in dit topic toch erg duidelijk. De informatie in je laatste post had mooi in je startpost gekunt; evenwel kunnen we het probleem er niet mee oplossen :) Lees nogmaals [rml]elevator in "[ Mysql] Kan niet importen in phpmyadmin"[/rml] eens goed; en geef ons bijvoorbeeld eens een stuk uit je SQL dump waar het foutgaat bij het importeren :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Ok, zoals je wilt, als ik maar verder kan :(

Zie hier een stuk create table die die niet "aankan":

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DROP TABLE IF EXISTS `artikelen`;
CREATE TABLE `artikelen` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `auteur` int(10) unsigned NOT NULL default '0',
  `categorie` int(10) unsigned NOT NULL default '0',
  `titel` varchar(255) NOT NULL default '',
  `omschrijving` tinytext NOT NULL,
  `foto` varchar(255) NOT NULL default '',
  `datum` int(10) unsigned NOT NULL default '0',
  `inhoud` longtext NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `haza`.`artikelen`
--

/*!40000 ALTER TABLE `artikelen` DISABLE KEYS */;
/*!40000 ALTER TABLE `artikelen` ENABLE KEYS */;


Met als foutmelding

code:
1
2
3
4
#1064 - 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 'ENGINE=InnoDB 
DEFAULT CHARSET=latin1' at line 11


Nou sla mij maar dood, deze sql moet goed zijn, t wordt door een mysql programma gerenderd:S

hand·te·ke·ning (de ~ (v.))


Verwijderd

Dark Wanderer schreef op maandag 26 september 2005 @ 18:39:
Ok, zoals je wilt, als ik maar verder kan :(

Zie hier een stuk create table die die niet "aankan":

...

Met als foutmelding

code:
1
2
3
4
#1064 - 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 'ENGINE=InnoDB 
DEFAULT CHARSET=latin1' at line 11


Nou sla mij maar dood, deze sql moet goed zijn, t wordt door een mysql programma gerenderd:S
Vermoedelijk een versie conflict. Maak eens een dump van een table uit de database waarin je juist wil importeren.
Waarschijnlijk gebruikt deze geen InnoDB maar bijvoorbeeld MyIsam of is de default charset anders, zoals de error omschrijving eigenlijk al zegt.

[ Voor 32% gewijzigd door Verwijderd op 26-09-2005 18:46 . Reden: quote aangepast ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Probeer eens een find en replace te doen om ' CHARSET=latin1' te verwijderen; zoals [rml]nightowl in "[ Mysql] Kan niet importen in phpmyadmin"[/rml] ook al aangaf?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Is dit ook de eerste tabel in je SQL die hij maakt?

Dikke kans dat de mysql bij je hoster geen innodb ondersteund, maar wel MyISAM.

Ik zou eerst de suggestie van Spider.007 proberen. Mocht dat niet werken, probeer dan eens een search en replace waarbij je 'InnoDB' door 'MyISAM' vervangt.

Let wel op dat je daarmee mogelijk functionaliteiten kwijtraakt die je gebruikt, zoals - als ik me niet vergis - transacties etc.

  • nightowl
  • Registratie: April 2002
  • Laatst online: 14-03-2009

nightowl

always too early to sleep

Dark Wanderer:

Lees mijn eerste post nog eens door. Ik heb daar drie redenen gegeven waarom het niet werkt en uit de dump die je geeft, leidt ik af dat van deze drie problemen, er twee in je dump zitten.

Ten eerste de toevoeging DEFAULT en wat daar achter komt op regel 4,5,6,8 en 9;
Ten tweede alles wat na de sluithaak komt: ENGINE=InnoDB DEFAULT CHARSET=latin1

Deze twee zaken veroorzaken in ieder geval het niet funktioneren van je import. Dit heb ik in mijn eerste reaktie ook al gezegd maar blijkbaar heb je daar helemaal geen acht op geslagen.

Probeer die DEFAULT eens te verwijderen en ook ENGINE....

Succes

Ik pas in mijn jas. Mijn jas past in mijn tas. Dus ik pas in mijn tas.


Verwijderd

nightowl schreef op maandag 26 september 2005 @ 22:00:
Probeer die DEFAULT eens te verwijderen en ook ENGINE....
Die default is het probleem niet, daar hij de fout geeft bij het stuk waar de engine wordt aangegeven. Het moet eigenlijk wel zijn dat zijn hoster geen innodb ondersteund, gezien de foutmelding.

  • nightowl
  • Registratie: April 2002
  • Laatst online: 14-03-2009

nightowl

always too early to sleep

@hezik:

ik wil het niet betwisten maar ik had toevalllig twee weken geleden hetzelfde probleem bij het overzetten van wat MySQL databases en tabellen van 1 provider naar een andere voor een klant van me. De import bij de nieuwe provider liep echt stuk op zaken zoals DEFAULT '' en DEFAUL:T '0' als dit volgde op NOT NULL. Vraag me svp niet waarom, ik zou het ook niet weten. Ik weet alleen dat nadat ik ENGINE etc. verwijderd had, de import nog niet lukte. Na het eveneens verwijderen van CHARSET en DEFAULT lukte de import wel. :?

Ik pas in mijn jas. Mijn jas past in mijn tas. Dus ik pas in mijn tas.


Verwijderd

Nightowl, dat geloof ik zonder meer hoor.

Alleen, als in dit gevel de DEFAULT het probleem was geweest, had hij deze foutmelding gekregen:
code:
1
2
3
1064 - 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  `auteur` int(10) unsigned NOT NULL default '0'


Die foutmelding krijgt hij echter niet. Hij krijgt een foutmelding op de regel waar de engine en charset staan. Op dat moment is de regel met de default al geparsed, en kennelijk ok bevonden.

  • Xander
  • Registratie: Oktober 2002
  • Nu online
Ik heb gisteren ook een paar uur zitten staren naar een .sql file die ik niet geimporteerd kreeg.

Alleen hij begon met "CREATE DATABASE `exile`;". En laat ik nou geen rechten hebben om een db te creëren. (Hij bestond overigens al wel...)

Soms kan het weghalen van 1 stom regeltje wonderen verrichten. :X :P
edit:

@hezik: En hij gaf dus geen duidelijke rechtenfoutmelding. De letterlijke melding die ik van PHPMyAdmin kreeg:
"Your SQL query has been executed successfully:
The content of your file has been inserted. (exile.sql: 17201 Instructions)


No tables found in database."

Tja... Maargoed verder werk ik 1x per jaar met MySQL en ben ik al lang weer blij dat ie het nu wel doet. :+

[ Voor 42% gewijzigd door Xander op 26-09-2005 22:26 ]

PC specs!---Pulse mee voor GoT!
[22:49:37] <@Remy> ik wil een opblaasbare dSLR :+


  • nightowl
  • Registratie: April 2002
  • Laatst online: 14-03-2009

nightowl

always too early to sleep

@hezik,

Yep, heb je gelijk in. * nightowl moet niet te verwaand zijn om zijn leesbrilletje niet op te willen zetten. B)

[ Voor 9% gewijzigd door nightowl op 26-09-2005 22:24 ]

Ik pas in mijn jas. Mijn jas past in mijn tas. Dus ik pas in mijn tas.


Verwijderd

XanderH schreef op maandag 26 september 2005 @ 22:23:
Ik heb gisteren ook een paar uur zitten staren naar een .sql file die ik niet geimporteerd kreeg.

Alleen hij begon met "CREATE DATABASE `exile`;". En laat ik nou geen rechten hebben om een db te creëren. (Hij bestond overigens al wel...)

Soms kan het weghalen van 1 stom regeltje wonderen verrichten. :X :P
Je moet dan ook niet staren naar de .sql file, maar naar de foutmelding die je krijgt. Daar had dat nl. wel duidelijk ingestaan hoor ;)

@nightowl: ach, je noemde wel als eerste de juiste oplossing, als ik me niet vergis ;)

[ Voor 66% gewijzigd door Verwijderd op 26-09-2005 22:25 ]


  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Ok mensen, bedankt voor de hulp. Ten eerste had ik ook de fout van die create database, maar die code had ik er al tussenuitgeknipt. Het zal wel aan innodb/myisam liggen, dat weet ik zeker. Maar hoe kan ik tijdens de installatie van mysql op me thuiscomputer kiezen myisam te gebruiken in plaats van innodb? En hoe kan ik die database nu nog omzetten?

hand·te·ke·ning (de ~ (v.))


  • DeluxZ
  • Registratie: Augustus 2003
  • Laatst online: 20-08 10:04

DeluxZ

Livin' the good life

Het ligt denk ik niet aan InnoDB kheb zelf even in een mysql db gekeken en ge-export:

code:
1
2
3
4
5
6
7
8
9
10
-- 
-- Table structure for table `categories`
-- 

CREATE TABLE `categories` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(255) NOT NULL default '',
  `cat_order` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin;
Afbeeldingslocatie: http://img355.imageshack.us/my.php?image=naamloos1tb.png

Dit is uit PHPMyAdmin ge-export en jij export uit MySQL Administrator dus lijkt me niet het probleem ? :o

edit:


kheb even jou SQL gekopieerd en geplakt @ db bij mij. En gek genoeg werkt die hier gewoon hoor :+

code:
1
2
3
4
5
6
7
8
9
10
11
12
DROP TABLE IF EXISTS `artikelen`;
CREATE TABLE `artikelen` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `auteur` int(10) unsigned NOT NULL default '0',
  `categorie` int(10) unsigned NOT NULL default '0',
  `titel` varchar(255) NOT NULL default '',
  `omschrijving` tinytext NOT NULL,
  `foto` varchar(255) NOT NULL default '',
  `datum` int(10) unsigned NOT NULL default '0',
  `inhoud` longtext NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;



Dark Wanderer schreef op dinsdag 27 september 2005 @ 08:55:
Ok mensen, bedankt voor de hulp. Ten eerste had ik ook de fout van die create database, maar die code had ik er al tussenuitgeknipt. Het zal wel aan innodb/myisam liggen, dat weet ik zeker. Maar hoe kan ik tijdens de installatie van mysql op me thuiscomputer kiezen myisam te gebruiken in plaats van innodb? En hoe kan ik die database nu nog omzetten?
Je wilt je DB van MySQL Administrator in een PHPMyAdmin DB importeren. Kijk is even bij PHPMyAdmin bij de homepage. Zoiets als hieronder staat. Zo zijn mijn instellingen van PHPMyAdmin en hier kan ik jou dump/export die je gegeven hebt wel importeren

plaatje

[ Voor 86% gewijzigd door DeluxZ op 27-09-2005 09:15 ]


Verwijderd

DeluxZ schreef op dinsdag 27 september 2005 @ 09:07:
Het ligt denk ik niet aan InnoDB kheb zelf even in een mysql db gekeken en ge-export:
[..]
kheb even jou SQL gekopieerd en geplakt @ db bij mij. En gek genoeg werkt die hier gewoon hoor :+
[/edit]
Zo gek is dat niet hoor. Het al dan niet werken van InnoDB en MyISAM tabellen, hangt samen met je MySQL versie en de installatie ervan. Dat het bij jou wel werkt, is geen bewijs voor de stelling dat het daar niet aan kan liggen..
Je wilt je DB van MySQL Administrator in een PHPMyAdmin DB importeren. Kijk is even bij PHPMyAdmin bij de homepage. Zoiets als hieronder staat. Zo zijn mijn instellingen van PHPMyAdmin en hier kan ik jou dump/export die je gegeven hebt wel importeren
Ik zie op dat screenshot alleen een instelling tav. charset? Dat _kan_ het zijn, maar hoeft dus niet persé op basis van wat jij post.

Voor TS: pak gewoon eens 1 tabel en kijk wat je moet aanpassen om die 1ne tabel via phpmyadmin aan te maken. Dan weet je in elk geval wat precies het probleem is.

plaatje[/quote]

  • Pacjack
  • Registratie: Oktober 2001
  • Laatst online: 21-08 00:28
Van welke MySQL versie heb je de database ge-export? En waar wil je nu naar toe? (MySQL versie)

In phpmyadmin kun je tijdens het exporten vaak ook aangeven of er rekening moet worden gehouden met een bepaalde compatibility. (Die zet ik nog wel eens op MYSQL40)

⌘ | deze gebruiker weet waar zijn handdoek is

Pagina: 1