Backup maken via phpmyadmin

Installatie lukt niet? Plotseling een foutmelding. Of weet je niet hoe iets werkt. Problemen met phpBB2 kun je in dit archief opzoeken.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Backup maken via phpmyadmin

Bericht door MacMarco » 22 jul 2005, 09:13

Ik wil graag leren hoe ik een backup kan maken via phpmyadmin, zodat ik ook de entries van het gastenboek (niet-phpbb) etcetera kan backuppen.

Ik heb de zoekfunctie gebruikt, maar ik kom er niet helemaal uit. Ik lees dat jullie adviseren om phpmyadmin te gebruiken in plaats van de backupfunctie in het adminpaneel van phpbb. Maar nou is mijn vraag:

:?: Hoe doe ik dat dan precies, een backup maken via phpmyadmin?

Dit is wat ik inmiddels weet:
Ik zit in phpmyadmin, selecteer vervolgens op mijn database, klik op het tabblad Exporteer. Ik klik vervolgens op "Selecteer alles", de radiobutton daaronder staat op SQL, da's goed volgens mij.

Ik heb gelezen dat "Verzenden" aangevinkt moet worden. Ik neem aan dat dat is om de backup te kunnen downloaden in plaats van lokaal opslaan?
En hoe zit het met de andere opties aan de rechterzijde? Ik snap dat ik "Structuur" (tabellen?) en "Data" (inhoud van de tabellen?) beide moet aanvinken, maar ik weet niet wat de andere opties daaronder betekenen en of ik ze moet aanvinken of niet. Kan iemand me dat uitleggen, want met de php-documentatie kom ik er niet uit.

Ik ben ook benieuwd of ik de naam van de template moet aanpassen. Is __DB__ een prefix of is het gebruikelijk om de template zo te noemen?
Het laatste blok, Compressie, is me duidelijk. Ik kan daar alleen geen gebruik van maken omdat ik geen gzip kan gebruiken bij mijn hostingprovider.

Voor de meelezers heb ik hieronder even een screenshotje van het Exporteer-scherm van phpmyadmin geplakt:

Afbeelding

Alvast bedankt voor jullie hulp.
Laatst gewijzigd door MacMarco op 22 jul 2005, 10:04, 1 keer totaal gewijzigd.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 jul 2005, 09:43

Alles zoals daar op je screen staat is goed, alleen raad ik persoonlijk aan om voeg auto_increment waarde, uit te zetten, omdat dit problemen kan geven met andere mysql versies.

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 09:57

Oké, dat heb ik gedaan en vervolgens op "Start" geklikt om een backup te maken en dat werkt inderdaad. Ik heb het .sql bestand in een teksteditor bekeken en het ziet er inderdaad goed uit.

Wat ik niet helemaal begrijp is dat de backup die ik nu via phpmyadmin maak zo'n 40% kleiner is dan de backup die ik via het ACP maak. De backup via het ACP van gisteren is 2,2 Mb terwijl de backup die ik net met phpmyadmin heb gemaakt slechts 1,4 Mb is. Hoe kan dat?

Hoewel ik Paulus dankbaar ben voor z'n snelle reactie, waardoor het nu in ieder geval werkt, zou ik het fijn vinden als iemand misschien de verschillende opties zou willen toelichten, zodat ik ook weet wat ik nu precies gedaan heb. Daar leer ik meer van dan "zo moet je het doen want dan werkt 't " ;-)

Is het ook mogelijk om zo'n backup te automatiseren, wanneer je geen shell-access hebt tot het systeem? Kan je zoiets client-side voor elkaar krijgen?

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 jul 2005, 10:09

Ik zal proberen de opties uit te leggen, maar ik weet ze ook niet allemaal :P
Afbeelding
  1. De tabbellen die je wilt exporteren, met shift en cntrl kan je er meerdere kiezen.
  2. de manier van exporten, op welke manier je het wilt te zien krijgen.
  3. Of je de structuur wilt exporteren
  4. OF je drop table, zodat als een tabel bestaat, hij wordt verwijderd wilt toevoegen.
  5. AUTO_INCREMENT waarde, voor het primery key veld, die automatische word verhoogt
  6. OF je veldnamen in quotes (`) wilt
  7. COmmentaar van die tabel
  8. Of je de data wilt exporteren
  9. Weet ik niet :(
  10. Weet ik niet :(
  11. Weet ik niet :(
  12. Het type invoegen, dit is meestal goed.
  13. of je wilt versturen.
  14. hoe het bestand heet
  15. compressie.
Met onderstaand script, kan je alle databases update, je moet wel even een map genaamd backup maken, en jouw gegevens aanpassen.

Code: Selecteer alles

<?php
$command = " /usr/local/bin/mysqldump --user=JOUW_GEBRUIKERSNAAM --password=JOUW_WACHTWOORD --all-databases > backup".date("d-M-Y").".sql";
echo $command; 
$result = passthru($command);
print "\n";
print $result;
print "\n";
$dbsize = filesize("backup".date("d-M-Y").".sql");
if( $dbsize >= 1048576 ){
	$dbsize = sprintf("%.2f MB", ( $dbsize / 1048576 ));
}else if( $dbsize >= 1024 ){
	$dbsize = sprintf("%.2f KB", ( $dbsize / 1024 ));
}else{
	$dbsize = sprintf("%.2f Bytes", $dbsize);
} 
print "Filesize:".$dbsize;
copy("backup".date("d-M-Y").".sql","backup/backup".date("d-M-Y").".sql");
unlink("backup".date("d-M-Y").".sql");
die;
?>

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 10:19

paulus schreef: Met onderstaand script, kan je alle databases update, je moet wel even een map genaamd backup maken, en jouw gegevens aanpassen.
Bedankt voor je uitvoerige uitleg!

Wat betreft het bovenstaande script, je zegt "kan je alle databases update" maar ik neem aan alle databases backuppen?

Als ik het goed begrijp dan maakt het script op de server, in de map backup, een backup van alle databases? Dat script zou ik dan dus op afstand kunnen aanroepen, z'n werk laten doen, en vervolgens het resultaat door een ander scriptje laten downloaden van mijn ftpserver? Begrijp ik dat goed?

Bedankt voor je geduld en je behulpzaamheid :thumb:

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 jul 2005, 10:21

Niet helemaal, hij maakt van alle database, waar die user toegang heeft een backup.

Je moet het bestand in de root zetten, en de map config daar maken, daar komen dan de backups in te staan. Dit bestand kan je dan gewoon aanroepen(of dmv cronjob laten draaien), en dan zelf van je ftp afhalen. Hij slaat hem op met de datum in de naam van het bestand.

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 10:23

Moet ik dan een map "backup" en een map "config" maken? Want je hebt 't nu over twee verschillende mappen... :D

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 jul 2005, 10:25

Neej, zo:
backup.php (die file die ik denet gaf.)
config.php (de file van phpbb)
backup (de map waar de bestanden inkomen)

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 10:28

Dus, ff voor de zekerheid:

Ik moet het scriptje backup.php in de root van mijn ftp-server zetten? of in de map phpbb?

En moet ik de map backup in de root van mijn ftp-server maken? of in de map phpbb?

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 jul 2005, 10:30

mag je zelf weten, maakt niet uit. (als je beide maar in of de root van server, of root van phpbb zet, niet in verschillende)

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 10:34

Ok, da's duidelijk. Denk ik :)

Als ik dus in de root een map backup maak, en het script backup.php in de root zelf zet dan is het dus goed? Moet ik dan ook config.php naar de root kopiëren?

Waarom moet config.php er eigenlijk bij? Daar doet 't script toch verder niks mee?

Dit begint trouwens verrekt veel op slowchatten te lijken ;-)

Maar ja, alles voor 't nageslacht :-)

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 10:39

Het script geeft een foutmelding:

Code: Selecteer alles

/usr/local/bin/mysqldump --user=***** --password=***** --all-databases > backup22-Jul-2005.sql
Warning: passthru() has been disabled for security reasons in /www/htdocs/*****/backup.php on line 4

Warning: filesize(): Stat failed for backup22-Jul-2005.sql (errno=2 - No such file or directory) in /www/htdocs/*****/backup.php on line 8
Filesize:0.00 Bytes
Warning: copy(backup22-Jul-2005.sql): failed to open stream: No such file or directory in /www/htdocs/*****/backup.php on line 17

Warning: unlink(backup22-Jul-2005.sql): No such file or directory in /www/htdocs/*****/backup.php on line 18
Als ik het goed begrijp dan is de functie passthru() niet te gebruiken? Hoe kan ik dat oplossen?

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 jul 2005, 10:42

hmm, wat is je host? Lycos toevallig? :D

(En config.php gebruikte ik alleen, om aan te geven hoe het moest komen te staan :D)

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 10:47

paulus schreef:hmm, wat is je host? Lycos toevallig? :D
Nee, geen Lycos, Neerlands beste hostingprovider, deHeeg Internet Solutions.
paulus schreef:(En config.php gebruikte ik alleen, om aan te geven hoe het moest komen te staan :D)
Oké, dan weet ik in ieder geval dat ik config.php niet nodig heb.

Nog iets anders: 't valt me op dat php in z'n output vrolijk mijn gebruikersnaam en wachtwoord de wijde wereld ingooit... is dat te voorkomen? Als het script om wat voor reden dan ook een foutmelding geeft ligt m'n gebruikersnaam en wachtwoord op straat... dat vind ik niet echt een prettig idee.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 jul 2005, 10:58

Ja, de echo met die regel, even verwijderen. Ikzelf gebruik dit script alleen voor een cronjob, waar dat wordt meegstuurd, vandaar dat ik dat laat echoen

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 11:12

Oké, die is eruit. Dat geeft een veilig gevoel :-)

Als ik het goed begrijp wordt passthru() gebruikt om programma's op de server aan te roepen? En als mijn hostingprovider dat om veiligheidsredenen heeft afgeschermd, dan is daar weinig aan te doen neem ik aan?

Zijn er nog alternatieven, waarmee ik een backup zou kunnen maken?

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 jul 2005, 11:18

kan je een bestand aanmaken, met als naam info.php en als inhoud

Code: Selecteer alles

<?php phpinfo(); ?>
En hier de link geven?

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 11:25

Ehm.. dat had ik zojuist gedaan, maar ik heb 'm weer verwijderd. Tot mijn grote schrik zie ik dat daar óók mijn gebruikersnaam en wachtwoord in staan :-(

Ik snap dat niet, ik vind dat knap onveilig...

Als je 'm wilt hebben dan wil ik 'm jou, Paulus, best geven, maar dan niet in het forum. Ik hoop dat je daar begrip voor hebt.

Als je dat liever niet doet, ook prima, zeg me dan welke info je nodig hebt dan kopieer ik dat in dit topic.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 jul 2005, 11:49

Vreemd, horen daar niet. Stuur de link maar even via PM. Dan kan ik het zelf bekijken.

MacMarco
Berichten: 68
Lid geworden op: 12 apr 2005, 16:58

Bericht door MacMarco » 22 jul 2005, 12:12

Ik heb je een pb-tje gestuurd met de gevraagde info.

Gesloten