Avatar billede hrole Mester
11. februar 2010 - 15:22 Der er 10 kommentarer og
1 løsning

Hjælp til backup af mysqldb med INTO OUTFÌLE

Hej,

Mit indlæg "Problemer med INTO OUTFILE, backup af mysql db" http://www.eksperten.dk/spm/899653, gik desværre død. Efterfølgende har jeg selv bøvlet mange timer med det, uden held. Da jeg er meget interesseret i at få løst problemet opretter jeg et nyt indlæg med flere point.

Koden er:

$dbc_nyheder = mysql_connect("xxx", "yyy", "zzz") or die (mysql_error());

$dir_file = $_SERVER['DOCUMENT_ROOT']."/backup/filename.sql";
$query      = "SELECT * INTO OUTFILE '$dir_file' FROM aaa.Nyheder";
$result = mysql_query($query, $dbc_nyheder);

Rettigheder på mappen backup og filen filename.sql er 777.
Jeg har prøvet med $fh = fopen($_SERVER['DOCUMENT_ROOT']."/backup/filename.sql", "w+"); efter $dir_file. Men uanset er det endnu ikke lykkes mig at få skrevet i filen filename.sql.
Avatar billede repox Seniormester
11. februar 2010 - 17:33 #1
Prøv lige at skrive

echo mysql_error();

efter din mysql_query() linie...
Avatar billede hrole Mester
11. februar 2010 - 18:03 #2
Meget mystisk. Jeg får:
Access denied for user 'ccc'@'%' (using password: YES)

Ændre jeg query til (blot for test):
$query = "SELECT * FROM aaa.Nyheder";
Får jeg ingen fejl.
Avatar billede repox Seniormester
11. februar 2010 - 18:06 #3
Det er ikke mystisk; det er fordi den bruger du har tilknyttet din MySQL database ikke har de rette priviligier (FILE) og uden dem kan du ikke bruges SELECT INTO OUTFILE ... syntaksen.
Avatar billede hrole Mester
11. februar 2010 - 18:18 #4
hmm, jeg troede netop denne bruger havde alle privilegier. I kontrolpanelet hos min udbyder har denne bruger følgende privilegier:
Privilegium navn:
      grant    
      lock tables    
      drop    
      create temporary tables    
      update    
      create    
      alter    
      index    
      select    
      references    
      insert    
      delete

Jeg har forsøgt med en anden bruger, som også har de samme privilegier, men med samme resultat.

Men det er måske ikke det du mener?
Avatar billede repox Seniormester
11. februar 2010 - 18:51 #5
Hvis du nu kigger på listen over de priviligier du selv nævner, figurerer det priviligie jeg nævnte der, så? Nej.

Hvis det er de priviligier du har, så er det ikke muligt for dig at gøre hvad du prøver.
Avatar billede hrole Mester
11. februar 2010 - 19:25 #6
Ok. Så må jeg på jagt efter alternative muligheder.
Jeg har brug for et script som kan lave backup af en database, i nogle tilfælde en enkelt tabel. Scriptet skal køres når der er tilføjet x antal poster. Backupen skal være i sql af strukturen for tabellen samt indholdet. Selve backupen skal blot blive liggende på serveren.

De muligheder jeg kender til er:
Cronjob: denne mulighed er udelukket da mit webhotel ikke har denne mulighed.
mysql dump: kender jeg intet til. Men hvis de muligheder jeg har i phpadmin kan tilgås via php ville det være ideelt, da der er mulighed for at danne pdf, excel mv. Men jeg mener jeg har læst der er en stor sikkerhedsrisiko ved at kalde disse funktioner via php. Men som sagt ved jeg ikke meget om denne mulighed og kan tage fejl.

Kan du foreslå andre muligheder eller er mysql dump min eneste mulighed - i så fald hvordan skal php scriptet skrives?
Avatar billede repox Seniormester
11. februar 2010 - 22:17 #7
Mulighederne er jo begrænsede i dit tilfælde; normalt ville man bruge mysqldump, men det afhænger af de tilladelser du har hvor du bliver hostet... jeg antager du bliver hostet hos et af de de der '130 års hosting med fri trafik for 3,50 hvert årti' firmaer? Man får ihvertfald hvad man betaler for.

Prøv at google på nogle færdige scripts - jeg har ikke selv prøvet det, men har hørt godt om http://sourceforge.net/projects/phpmybackup/
Avatar billede hrole Mester
11. februar 2010 - 22:46 #8
Domænet er hos Surftown.

Tak for forslaget, men jeg ville egentlig helst selv skrive det færdige evt. med inspiration.
Avatar billede repox Seniormester
11. februar 2010 - 22:52 #9
Så havde jeg ret i mit hosting-teori ;)

Værsgo'
http://codepad.org/wkVANKmS
Avatar billede hrole Mester
14. februar 2010 - 13:40 #10
Tak. Smid svar.
Avatar billede repox Seniormester
27. februar 2010 - 23:00 #11
Det fik du her
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