Avatar billede dennism Nybegynder
15. februar 2005 - 16:37 Der er 22 kommentarer og
1 løsning

mySQL: lav backup

Hvordan henter jeg alle rækkerne fra min database, og rækker disse filer til en .txt fil (altså en backup-fil)?
Avatar billede dennism Nybegynder
15. februar 2005 - 16:37 #1
alle rækkerne fra min database = alle rækkerne fra min tabel :)
Avatar billede arne_v Ekspert
15. februar 2005 - 16:43 #2
Avatar billede arne_v Ekspert
15. februar 2005 - 16:43 #3
Avatar billede dennism Nybegynder
15. februar 2005 - 16:52 #4
Ja, jeg har også forsøgt mig med denne. Men uden held :(

Jeg har:
$result = mysql_query("mysqldump message");
echo"$result";

Hvordan kan det være, at der ikke bliver udskrevet noget?
Avatar billede dennism Nybegynder
15. februar 2005 - 16:53 #5
..det er vel og mærke i PHP at jeg forsøger det!
Avatar billede arne_v Ekspert
15. februar 2005 - 17:06 #6
mysqldump/mysqlhotcopy er til når man har ssh+FTP adgang til serveren.

Har du adgang til PHPMyAdmin ?

Du kan gøre det derfra !

Du kan også lave dit eget PHP script, men det vil nok kræve lidt mere.
Avatar billede dennism Nybegynder
15. februar 2005 - 17:13 #7
Jeg er ved at lave en system, hvor brugeren skal kunne tage backup af serveren. Derfor vil jeg have et script i PHP som kan klare det. Kan du hjælpe med det?
Avatar billede arne_v Ekspert
15. februar 2005 - 17:22 #8
Du kan prøve om du har privs til at køre mysqldump med system funktionen

http://us4.php.net/manual/en/function.system.php

hvis ikke så skal vi igang med noget query !
Avatar billede dennism Nybegynder
15. februar 2005 - 17:24 #9
Hvordan virker det?
Avatar billede arne_v Ekspert
15. februar 2005 - 18:32 #10
den kører en ekstern kommando
Avatar billede dennism Nybegynder
16. februar 2005 - 07:29 #11
Hvordan skal denne funktion se ud i mit eksempel? Jeg har nemlig selv administrationsmuligheder for den server som siden skal køre på, så den kan sikkert godt bruges.
Avatar billede arne_v Ekspert
16. februar 2005 - 21:36 #12
system("mysqldump message > message.sql");

eller sådan noget (der mangler nok brugernavn/password)
Avatar billede dennism Nybegynder
17. februar 2005 - 15:25 #13
Avatar billede arne_v Ekspert
17. februar 2005 - 21:51 #14
Virker det ikke ?

Hvilken fejl får du ?
Avatar billede dennism Nybegynder
18. februar 2005 - 11:24 #15
Jeg prøver med:

system("mysqldump -h localhost -u root drlunddb");

h = host, som i mit tilfælde er localhost.
u = root, som er root
drlunddb = min database.

Men når jeg kører denne, får jeg intet udskrivet - der sker simpelthen ingen ting. Desuden ønsker jeg jo også kun udskrevet tabellen "message" udskrivet. Hvad går jeg galt?
Avatar billede arne_v Ekspert
18. februar 2005 - 11:45 #16
system("mysqldump -h localhost -u root drlunddb > drlunddb.sql");

ligger der så ikke en drlunddb.sql fil bagefter ?
Avatar billede dennism Nybegynder
18. februar 2005 - 12:05 #17
Jo, der ligger en fil, men den er tom :(
Hvorfor?
Avatar billede dennism Nybegynder
18. februar 2005 - 12:37 #18
Jeg har fra c:\mysql\bin kørt:
mysqldump -h localhost -u root drlunddb timetablechange > drlunddb.sql

Hvilket resulterer i at min tabel timetablechange bliver kopieret over i drlunddb.sql. Dvs. at det altså virker fint i dos.
Men hvorfor virker det ikke, når jeg skriver følgende i PHP:
system("mysqldump -h localhost -u root drlunddb timetablechange > drlunddb.sql");

??
Avatar billede arne_v Ekspert
18. februar 2005 - 12:44 #19
godt spørgsmål
Avatar billede dennism Nybegynder
18. februar 2005 - 12:46 #20
Du kan altså ikke hjælpe?
Avatar billede arne_v Ekspert
18. februar 2005 - 19:52 #21
Jeg er ved at løbe tør for ideer.

Hvad med:

system("mysqldump -h localhost -u root drlunddb timetablechange > /dir/subdir/drlunddb.sql");

så filen ender i dit home dir ?
Avatar billede dennism Nybegynder
19. februar 2005 - 16:47 #22
Jeg har løst probelmet.
Det skulle være:

system("cmd /c mysqldump ...

Smider du lige et svar?
Avatar billede arne_v Ekspert
19. februar 2005 - 16:48 #23
ok
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
Computerworld tilbyder specialiserede kurser i database-management

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