Avatar billede bacce.dk Nybegynder
29. november 2005 - 22:43 Der er 5 kommentarer og
1 løsning

importere Mysql dump

Hejsa

Jeg har lavet et mysql dump af samtlige databaser på min server.
De ligger som nogle .sql filer.

Det er gået fint nok, problemet er bare at jeg ikke har fundet ud af at lave en kode som kan få Mysql serveren til at importere alle disse dumps.
Er der en der kan hjælp med dette.
phpmyadmin er ikke en mulighed, da der er mange tusinde, så det ville tage mig år at gøre dette via phpmyadmin
Avatar billede hanne_e Nybegynder
30. november 2005 - 06:30 #1
Kender du LOAD DATA INFILE kommandoen?

Her kan man fx læse kommaseparerede tekstfiler ind i tabellerne - men så vidt jeg lige ved, er du nødt til at gøre det én ad gangen. Altså først oprette tabellen vha. create osv. fra sql-dumpet og så indlæse text-dumpet via LOAD DATA INFILE.

Du kan læse om det her: http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Men om der findes en metode, der kan håndtere flere på én gang, ved jeg ikke. Det håber jeg da for dig, hvis du virkelig har flere tusinde liggende!
Avatar billede bacce.dk Nybegynder
30. november 2005 - 17:17 #2
det er ikke noget problem at køre en af gangen... de kan jo køres i en løkke, og det var også planen.
jeg har lavet et script der gør følgende...
1. hent sql dumpet fra en anden server.
2. læs og smid dumpen i Mysql serveren...
3. slet sql dumpen.

Alt virker undtagen selve det at smide den i DB.
Avatar billede bacce.dk Nybegynder
30. november 2005 - 21:05 #3
det skulle måske også siges at jeg næsten har den på plads...

det eneste problem er at få delt dump filen ordentligt op.

Jeg har prøvet med explode(";" $file);

meen der er bare det problem at hvis der i dataen er et ";" så deler den det op der og fejler ;-(
Avatar billede bacce.dk Nybegynder
30. november 2005 - 22:07 #4
okey... fandt en metode... med ide fra min mysqldump metode... må indrømme at jeg måske ikke har tænkt mig godt nok om :-/

Svaret er...
$sql = "mysql -h$DB_HOST -u$DB_USERNAME -p$DB_PASSWORD $dbname < $file";
    exec($sql);
Avatar billede bacce.dk Nybegynder
30. november 2005 - 22:07 #5
Men du skal nu have tak for forsøget...
Avatar billede hanne_e Nybegynder
30. november 2005 - 23:16 #6
Ja, det var jo ingenting :-)
Godt du klarede den - med stædighed kommer man langt!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester