Avatar billede dragonbook Nybegynder
29. august 2006 - 19:03 Der er 13 kommentarer og
1 løsning

Dump af enkelte tabeller i MySQL

Hej

Jeg har forsøgt at finde et script her på siden der kan lave et dump af nogle helt bestemte tabeller i en MySQL database.

IKKE hele databasen.

Jeg ved at Phpmyadmin kan klare sagen, men har brug for et script der kan lave et dump ved besøg på en side. (dvs. når siden loades gemmes tabellen i en sql eller txt fil).

Kan det virkelig passe at det ikke kan lade sig gøre, når nu Phpmyadmin kan?

Uden at ville virke uhøflig vil jeg på forhånd gerne frabede mig scripts der tager dump af hele databasen.
Avatar billede esbenp Nybegynder
29. august 2006 - 19:06 #1
når du installererer mysql får du et program der hedder mysqldump. Det kræver dog enten at du har serveren lokalt eller at du kan forbinde direkte til databasen på port 3306 typisk.
Avatar billede barklund Nybegynder
29. august 2006 - 19:24 #2
Hvis du med "dump" mener, at du får en fil med insert into for alle rækker i tabellen, så kan du jo bare lave et script, der udtrækker alle rækker og skriver dem i en fil. Vil du også dumpe tabelstruktur og den slags eller kun data?
Avatar billede dragonbook Nybegynder
29. august 2006 - 20:13 #3
Ja med dump mener jeg, en backup fil som man senere kan benytte direkte til at hive ind i databasen igen. Så ja en fil med insert into for alle rækker i tabellen.
Avatar billede barklund Nybegynder
29. august 2006 - 20:19 #4
Men hvorfor laver du så ikke bare det? Hvis du kender tabellerne på forhånd, så er det endnu nemmere, men ellers skulle det da være ingen sag at lave? Altså hent alle rækker, return en insert into for hver række og returner hele siden som en download. Det er da ret simpel PHP på cirka 5 linjer?
Avatar billede dragonbook Nybegynder
29. august 2006 - 20:35 #5
Nå er jeg bestemt ikke en ørn til MySQL og har kun lavet ganske lidt i det.

Så hvis du kan vise mig hvordan det kan gøres, så kan jeg også lære noget af det.
Avatar billede barklund Nybegynder
29. august 2006 - 20:40 #6
Jeg vil ikke lave scriptet for dig. Og SQL-delen er det mindste af det, for du skal jo blot lave en:

SELECT * FROM min_tabel

PHP-delen er lidt mere, men stadig ikke meget. For at lave en ressource og hente rækker, se http://php.net/mysql. For at udskrive rækkerne til browseren se http://php.net/printf og for at få browseren til at gemme som fil, se http://php.net/header
Avatar billede dragonbook Nybegynder
29. august 2006 - 20:44 #7
Ok, jeg kaster mig over det :-)
Avatar billede esbenp Nybegynder
29. august 2006 - 23:59 #8
mysqldump -uroot -psdf -hserver.dk mindatabase mintabel > minbackup.txt

Kan det være nemmere?
Avatar billede dragonbook Nybegynder
30. august 2006 - 08:58 #9
Øhhh min server er hostet, så kan jeg vel ikke bruge det eller ?

Kan man egentligt benytte SELECT * FROM min_tabel er der ikke noget med at man ikke kan benytte * i PHP/MySQL ?
Avatar billede barklund Nybegynder
30. august 2006 - 10:21 #10
esbenp, det kræver shell-adgang til maskinen eller adgang til port 3306 udefra. Og det har man sjældent i hostet miljø.

dragonbook, Mht. SELECT *, har du nogensinde brugt MySQL i PHP? For selvfølgelig kan man det.
Avatar billede dragonbook Nybegynder
30. august 2006 - 11:43 #11
Som sagt så har jeg lavet MEGET lidt, det er derfor jeg spørg.
Avatar billede esbenp Nybegynder
30. august 2006 - 13:00 #12
det er forskelligt om man kan det. Start med at skrive telnet minserver.dk 3306 hvis du får nogle underlige tegn på skærmen installerer du bare mysql på din maskine og bruger mysqldump
Avatar billede dragonbook Nybegynder
09. september 2006 - 16:30 #13
Lukket
Avatar billede dragonbook Nybegynder
09. september 2006 - 16:30 #14
Lukket
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