29. april 2002 - 15:51
Der er
9 kommentarer og 1 løsning
Backup af MySQL database -> zip fil
Hej, Dette er en forlængelse af mit spørgsmål vedr. backup af min mysql database. Jeg giver faktisk hele 200 point til den kan give kilde til neden stående spørgsmål: Er der nogen der kan hjælpe mig med at lave et script der kan tagen dump af ens mysql database (inkl. data og alle tabellerne) og sende det tilbage til en som en pakket .zip fil? Jeg er bare generelt doven hvis I undrer hvorfor jeg ikke selv gøre det :) ./bilbo2
Annonceindlæg fra SuperOffice
29. april 2002 - 17:10
#1
phpmyadmin kan gøre det let og hurtigt
29. april 2002 - 17:11
#2
29. april 2002 - 17:15
#3
Guide: Vælg din database. gå til Vis dumb af tabel. marker ALLE tables vælg at den skal SEND som zipped
29. april 2002 - 17:15
#4
ikke Vis dumb af tabel, men Vis dumb af database
29. april 2002 - 17:45
#5
På linux ville jeg bare lave et lille shellscript: #!/bin/sh # hent dump mysqldump -uBRUGERNAVN -PPASSWORD DATABASE > dump.sql # zip dump zip -9 dump.zip dump.sql # slet upakket dump rm -f dump.sql # send zip echo "Databasebackup" | mutt -a dump.zip -s "Backup" email@adresse.dk # slet zip rm -f dump.zip
29. april 2002 - 17:46
#6
hovsa :/ det skal være: mysqldump -uBRUGERNAVN -pPASSWORD DATABASE > dump.sql Hvis du vil have alle databaser: mysqldump -uBRUGERNAVN -pPASSWORD -A > dump.sql
29. april 2002 - 19:14
#7
Bruger følgende i Windows 2000: "c:\Program Files\MySQL\bin\mysqldump.exe" -e --host=dithostname --user=ditusername --password=ditpassword --databases dindbnavn > "dbdump_%DATE%.sql" -så får jeg også tidsstempling på outputfilen - ydermere kan man i Windows schedule et job, så det bare kører fast engang om ugen...
30. april 2002 - 13:50
#8
razor, du er vinderen. Det virker fint på Linux, tak for det. Selv om det ikke var præcis hvad jeg skulle bruge, lavede jeg selv nedenstående script: <?php require_once('../../include/globalconf.php'); require_once('../../language/'.$gn['lang'] . '.php'); session_start(); ?> <?php if($name <> $gn['admin']) { print $gn['no_enter']; exit; } ?> <?php $dbHostname = $gn['host']; $dbUsername = $gn['user']; $dbPassword = $gn['pass']; $dbName = $gn['db']; global $t; header("Content-type: application/sql"); $tables = mysql_list_tables($dbName); $num_tables = @mysql_numrows($tables); header("Content-type: application/sql"); $i=0; while ($i<$num_tables) { $table = mysql_tablename($tables,$i); print "# \n"; print "# Table structure for table '$table' \n"; print "# \n\n"; // table structure $struc = "CREATE TABLE $table (\n"; $query = "SHOW FIELDS FROM $table"; $result = mysql_query($query); while ($row=mysql_fetch_array($result)) { $struc .= " $row[Field] $row[Type]"; if(!empty($row["Default"])) { $struc .= " DEFAULT '$row[Default]'"; } if($row["Null"] != "YES") { $struc .= " NOT NULL"; } if($row["Extra"] != "") { $struc .= " $row[Extra]"; } $struc .= ",\n"; } $query = "SHOW KEYS FROM $table"; $result = mysql_query($query); $pkey_exist = mysql_num_rows($result); if($pkey_exist!=0) { $pkey = mysql_result($result,0,'column_name'); $struc .= " PRIMARY KEY ($pkey)\n"; } else { // replace ,\n $struc = substr($struc,0, strlen($struc)-2); $struc .= "\n"; } print $struc; print ");\n\n"; print "# \n"; print "# Dumping data for table '$table' \n"; print "# \n\n"; $query = "select * from $table"; $result = mysql_query($query); $j = 0; while($row=mysql_fetch_row($result)) { $data .= "INSERT INTO $table VALUES("; for($k=0; $k<mysql_num_fields($result);$k++) { if (!isset($row[$k])) { $data .= " NULL,"; } elseif($row[$k]!="") { $data .= " '".addslashes($row[$k])."',"; } else { $data .= " '',"; } } $data = substr($data,0, strlen($data)-1); $data .= ");\n"; $j++; } print $data."\n"; $data = ""; $i++; } ?> -------------- Det dumper en hel database i en tekst fil, virker kanont, hvis nogen skulle få brug for det i fremtiden. ./bilbo2
30. april 2002 - 13:54
#9
takker da for scriptet
30. april 2002 - 14:10
#10
No problems, virker fortræffeligt :)
Vi tilbyder markedets bedste kurser inden for webudvikling