[mysql] Backup invoeren in phpmyadmin: file te groot

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

  • dribbel
  • Registratie: December 2001
  • Laatst online: 15:23
Hallo,

ik weet niet of ik hier helemaal goed zit, maar ik zit met het volgende.

We gaan met ons forum verhuizen naar een andere server, dus ik moet de database importeren op de andere server, dit kan via phpmyadmin, nou heb ik onze database geexporteerd en deze is 26mb (als sql file) :| .. met phpmyadmin kan ik max files van 2mb in 1 keer laten uitvoeren, wat in de praktijk nog minder moet zijn omdat zich anders time-outs voordoen.

Hoe kan ik dit nou het beste aanpakken, ik heb de .sql file al geprobeerd in kleinere stukjes te hakken door steeds stukken te kopieren/plakken en dan de file opslaan, maar omdat de file zo groot is duurt het ontzettend lang om een relatief klein deel te kopieren en te plakken, meestal lopen de programma's waar ik het mee probeer vast.

Is er een makkelijke manier om die database te importeren, of ga ik hier nog een dag werk aan hebben

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
heb je geen shell-access?

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • dribbel
  • Registratie: December 2001
  • Laatst online: 15:23
nee, alleen phpmyadmin

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 18:13
Kun je 'm niet inpakken me gzip/bzip2? Dat ondersteunt phpMyAdmin ook namelijk. Je moet dan wel een compressieratio van 26:2 oftewel 7,7% realiseren, maar aangezien SQL code nogal veel hetzelfde is (en weinig verschillende karakters gebruikt bovendien), zou het zomaar kunnen werken.

Anders: contact opnemen met je systeembeheerder.

  • Kettrick
  • Registratie: Augustus 2000
  • Nu online

Kettrick

Rantmeister!

vragen of je hoster de dump even in wil voeren ?, dat is 10 tellen werk met shell toegang.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Is er geen mogelijkheid bij jouw DB systeem om volgende uit te voeren:

code:
1
pg_dump dbname | split -b 1m - filename.sql

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 19-05 21:24

NMe

Quia Ego Sic Dico.

Of anders schrijf je een PHP script dat het doet, zonder tijdlimiet erop... Gewoon een voor een alle regels afgaan. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Of als je over een linux/unix bakje beschikt:

code:
1
split -b 1m origfile.sql splitfile.sql

Krijg je splitfile1.sql, splitfile2.sql, ... van 1MB groot

  • Kettrick
  • Registratie: Augustus 2000
  • Nu online

Kettrick

Rantmeister!

split -b sloopt je SQL aangezien hij midden in een regel het bestand sluit.

Je zou het met split -l 1000 (?) kunnen proberen, als je inserts van 1 regel hebt.

[ Voor 3% gewijzigd door Kettrick op 05-08-2004 00:35 ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

NMe84 schreef op 05 augustus 2004 @ 00:19:
Of anders schrijf je een PHP script dat het doet, zonder tijdlimiet erop... Gewoon een voor een alle regels afgaan. :P
Dat lijkt me idd de handigste optie. Upload de file naar een dir dmv ftp, en maak een scriptje dat de file inleest en uitvoert. Bedenk wel dat je elke statement apart door mysql_query () moet gooien, dus zoek naar de ; aan het eind van de regels (de ; zelf moet je ook niet meegeven aan mysql_query).

Verder even van tevoren set_time_limit (0) aanroepen zodat je script niet timeout :)

Overigens heeft dit totaal niet met Programming & Webscripting te maken, als je verder wilt gaan met wat ik zojuist gepost hebt kan ie wel hier blijven staan, anders is het gewoon voer voor Software Algemeen

[ Voor 14% gewijzigd door .oisyn op 05-08-2004 01:26 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
.oisyn schreef op 05 augustus 2004 @ 01:25:(de ; zelf moet je ook niet meegeven aan mysql_query).
Bij standaard SQL hoort die ; gewoon hoor. Mag ook gewoon van php en mysql. Met en zonder is goed.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 23-05 11:16

pietje63

RTFM

Ik had ook een keer dit probleem en heb toen contact opgenomen met mijn hosting provider en we zijn tot de conclusie gekomen dat hem het bestand (gezipt) mailen en dat hij het met shell access toevoegt de makkelijkste optie was.

Via php kan ook wel, maar dit levert wel een tijdelijke hoge serverload op (via shell ook, maar toch minder naar ik begrepen heb omdat je een stap "php" minder nodig hebt). Zorg er trouwens wel voor dat je bij php niet slim denkt te zijn en de output ook even naar de browser echoed want dan heb je een stuk grotere kans dat hij het niet trekt (ivm memory limits).

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Grijze Vos schreef op 05 augustus 2004 @ 01:40:
[...]

Bij standaard SQL hoort die ; gewoon hoor. Mag ook gewoon van php en mysql. Met en zonder is goed.
http://nl.php.net/mysql_query
Opmerking: De query string moet niet eindigen met een puntkomma.
Het is idd een SQL standaard, de mysql api ondersteunt 'm echter niet

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

En alleen splitten op ; is ook niet echt genoeg.. dan ga je een hoop halve queries krijgen, want wie zegt dat dat teken nooit in de content is gebruikt. Dus dan mag je weer een reguliere expressie gaan maken voor het splitten.

Bel die hoster.. daar is hun support afdeling voor en daar betaal je ook voor...

Verwijderd

.oisyn schreef op 05 augustus 2004 @ 02:25:
[...]
Het is idd een SQL standaard, de mysql api ondersteunt 'm echter niet
Hoezo "ondersteunt 'm niet"? mysql_query doet het toch net zo goed met als zonder puntkomma achter het statement?

  • pthn
  • Registratie: Februari 2003
  • Laatst online: 31-07-2023
Misschien heb je hier iets aan:

To restore the very large backup of your mySQL database (or a part of it) into the new or the same mySQL database. You can't access the server shell and you can't import the dump using phpMyAdmin or any other scripts due to hard memory resp. runtime limit of the web-server.

http://www.ozerov.de/bigdump.php

[ Voor 4% gewijzigd door pthn op 05-08-2004 11:15 ]


  • dribbel
  • Registratie: December 2001
  • Laatst online: 15:23
hmm ik heb inderdaad maar contact opgenomen met de host, zij gaan de database nu voor me invoeren.. idd de simpelste oplossing

Wel bedankt voor alle suggesties die gedaan zijn, maar ik ben een behoorlijke n00b op php gebied dus, ik snap er eerlijk gezegd de ballen van :p

  • paulh
  • Registratie: Juli 1999
  • Laatst online: 11-05 14:30
ach hoeveel werk is het nou om dit dump file in 13 a 14 stukjes te hakken en dan vervolgens te importeren? Je bent wel even bezig maar een grote ramp is het nou ook weer niet.

[ZwareMetalen.com] - [Kom in aktie tegen de CO2 maffia]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 05 augustus 2004 @ 11:06:
[...]


Hoezo "ondersteunt 'm niet"? mysql_query doet het toch net zo goed met als zonder puntkomma achter het statement?
Volgens de docs dus niet, en ik kreeg idd ook een foutmelding bij een 3.x versie van mysql. Misschien dat het inmiddels wel werkt, maar daar kun je dus niet zomaar van uit gaan

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Wacky
  • Registratie: Januari 2000
  • Laatst online: 17-05 19:58

Wacky

Dr. Lektroluv \o/

Bel of email je webhoster, een beetje webhoster fixt dat gewoon voor je :)

Nu ook met Flickr account


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Bosmonster schreef op 05 augustus 2004 @ 09:56:
En alleen splitten op ; is ook niet echt genoeg.. dan ga je een hoop halve queries kr/ijgen, want wie zegt dat dat teken nooit in de content is gebruikt. Dus dan mag je weer een reguliere expressie gaan maken voor het splitten.
Gewoon splitten op ;\r?\n, aangezien er altijd een linebreak na de ; komt. Ik heb op die manier een heel forum met 10000+ posts geimporteerd

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Sorry voor de kick,

maar waar kan je uberhaupt aanpassen hoe groot de file mag zijn die je witl invoeren via phpmyadmin?, ikzit ok met een file van 12 mb ofzo en kan maar 2 mb per keer doen. Zit me ondertussen al uur of drie het net af te zoeken etc... :(

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:25

Janoz

Moderator Devschuur®

!litemod

De grootte van het bestand wordt gelimiteerd door:
Instellingen in phpmyadmin
Instellingen in php zelf
Instellingen in de webserver
Executie tijd van het script

Daarnaast lijkt het me dat je niet zo economisch bezig bent. 12 mb is in 6 delen van 2 mb op te splitsen. Neem je een wat ruime marge, dan heb je 8 delen. In drie uur kun je dat toch wel verwerken?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

mja, niet economisch bezig, misschien het is gewoon dat ik het wil aanpssen dat het continu goed staat en niet dat ik continu ga moeten splitsen...

en dat het instellingen zijn, daar was ik ook al achter, nu nog weten welke en waar :), ik kom niet uit op de goede documentatie ... wat frustrerend :).

Edit:
found it, stond in de php.ini

[ Voor 7% gewijzigd door Verwijderd op 15-09-2004 13:34 ]

Pagina: 1