[mysql] Datenbanksicherung & Einspielung
#1
geschrieben 07. September 2005 - 14:06
Ich suche ein Script, dass mir die Datenbankstruktur mit den Datensätzen komplett sichert und in eine externe Datei (.sql) auf dem Server abspeichert (oder als Download).
Es muss nicht automatisch geschehen (also kein CronJob o.Ä.), es wird manuell durchgeführt - sollte aber außerhalb des PhpMyAdmin erledigt werden.
Die Theorie:
- Script wird ausgeführt
- Datenbanksturktur/Datensätze werden abgespeichert
- Fertig
Nun brauche ich das Ganze am Besten auch noch andersrum. So dass eine Datenbank mit dieser Sicherung wieder eingespielt wird, auch ohne PhpMyAdmin.
Ich weiß, dass man das auch mit Confixx machen kann und so Sachen, aber ich bräuchte das als Script, so wie oben beschrieben.
Vielleicht gibt es da ja etwas, das ihr kennt.
Ansonsten könntet ihr mir ja vielleicht auch helfen, wie ich mit PHP die Datenbank in eine externe Datei auf dem Server sichern kann.
Danke schon mal im Voraus!
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.
(Konfuzius)
Anzeige
#2
geschrieben 07. September 2005 - 14:31
Damit kann man die Datenbank bequem sichern.
Anwendungsbeispiel:
Sicherung ALLER Datenbanken
mysqldump -h $host -u $user -p -A >> backup.sql
So werden ALLE Datenbanken in die Datei "backup.sql" gesichert.
Um die Dateien zurückzuspielen mache ich persönlich folgendes (unter Linux):
cat backup.sql | mysql -h $host -u $user -p
#3
geschrieben 07. September 2005 - 15:05
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.
(Konfuzius)
#4
geschrieben 07. September 2005 - 18:36
#5
geschrieben 07. September 2005 - 18:52
Zitat (Floele: 07.09.2005, 19:36)
<{POST_SNAPBACK}>
Letzteres wäre mir lieber
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.
(Konfuzius)
#6
geschrieben 07. September 2005 - 21:15
http://restkultur.ch...ipts/db_backup/
#8 _Benjamin_
geschrieben 08. September 2005 - 13:22
Zitat (Yalamand: 08.09.2005, 12:10)
das ist nix anderes als das was confixx auch macht ... !
Dieser Beitrag wurde von Benjamin bearbeitet: 08. September 2005 - 13:22
#9
geschrieben 09. September 2005 - 00:34
das ist aber auch kein PHP-script.
ich hätte sowas nämlich auch gerne als PHP-script....
#10
geschrieben 09. September 2005 - 06:25
#11
geschrieben 09. September 2005 - 07:42
<?php
// Bitte hier Ihre Daten eintragen
$host= 'XXXXXX';
$user= 'XXXXXX';
$pass= 'XXXXXX';
$db= 'XXXXXX';
// Befehl ausführen und in Zipfile speichern
system(sprintf(
'mysqldump --opt -h%s -u%s -p%s %s | gzip > %s/dumpDB.sql.gz',
$host,
$user,
$pass,
$db,
getenv('DOCUMENT_ROOT')
));
echo '+DONE';
?>
Wiederherstellen der Datenbank geht dann einfach so...
<?php
$host = "XXXXX";
$db = "XXXXX";
$dbuser = "XXXXX";
$dbpw = "XXXXX";
MYSQL_CONNECT($host, $dbuser, $dbpw) or die ( "<H3>Datenbankserver nicht erreichbar</H3>");
MYSQL_SELECT_DB($db) or die ( "<H3>Datenbank nicht vorhanden</H3>");
$path = getenv('DOCUMENT_ROOT')."/DB_backup";
$result = MYSQL_QUERY("SHOW TABLES");
$numrow = MYSQL_NUM_ROWS($result);
for($i = 0;$i < $numrow;$i++) {
$table = MYSQL_RESULT($result,$i);
echo "$table ... ";
system(sprintf("mysqldump --opt -h $host -u $dbuser -p$dbpw $db $table | gzip > %s/$table.sql.gz",$path));
echo "DONE\n\n";
}
MYSQL_CLOSE();
?>
- ← Die Tabellen Konnte Nicht Fehlerfrei Mit Daten Gef
- Skript/Web-Programmierung
- Adresse In Statusleiste "verstecken" →

Hilfe
Neues Thema
Antworten

Nach oben

