WinFuture-Forum.de: [mysql] Datenbanksicherung & Einspielung - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[mysql] Datenbanksicherung & Einspielung


#1 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.475
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 07. September 2005 - 14:06

Hallo zusammen.

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!
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

Anzeige



#2 Mitglied ist offline   Mr_Maniac 

  • Gruppe: aktive Mitglieder
  • Beiträge: 768
  • Beigetreten: 29. Juli 02
  • Reputation: 1
  • Geschlecht:Männlich
  • Interessen:Vieles rund um den Computer
    Musik

geschrieben 07. September 2005 - 14:31

Bei MySQL ist ein Programm namens mysqldump dabei (im bin-Ordner).
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

0

#3 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.475
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 07. September 2005 - 15:05

Ich dachte da eher an ein PHP-Script :/
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#4 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 07. September 2005 - 18:36

Reicht ein Shellscript für Linux auch? Sonst müsste ich mal versuchen mein PHP Backup Script (besser gesagt den Namen davon) wiederzufinden.
0

#5 Mitglied ist offline   Slayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.475
  • Beigetreten: 12. Dezember 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Baden-Württemberg
  • Interessen:&gt; Internet<br />&gt; Musik<br />&gt; Filme<br />&gt; Events

geschrieben 07. September 2005 - 18:52

Zitat (Floele: 07.09.2005, 19:36)

Reicht ein Shellscript für Linux auch? Sonst müsste ich mal versuchen mein PHP Backup Script (besser gesagt den Namen davon) wiederzufinden.
<{POST_SNAPBACK}>

Letzteres wäre mir lieber ;)
Der Mensch hat drei Wege, klug zu handeln.
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.

(Konfuzius)
0

#6 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 07. September 2005 - 21:15

Dank meinem umfangreichen E-Mail Archiv hab ich es sogar gefunden ;)
http://restkultur.ch...ipts/db_backup/
0

#7 Mitglied ist offline   Yalamand 

  • Gruppe: aktive Mitglieder
  • Beiträge: 101
  • Beigetreten: 19. Mai 05
  • Reputation: 0

geschrieben 08. September 2005 - 11:10

http://www.phpmyadmin.net/home_page/
0

#8 _Benjamin_

  • Gruppe: Gäste

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

0

#9 Mitglied ist offline   andreasm 

  • Gruppe: aktive Mitglieder
  • Beiträge: 707
  • Beigetreten: 19. Juni 05
  • Reputation: 0
  • Wohnort:Saarland
  • Interessen:Elektrotechnik, Elektronik, Programmierung (PHP, MYSQL, Pascal, C++), Energie allgemein, alternative Energiequellen, sonstige Umweltthemen, Digitale Fotografie, Heimwerken, Partys, Fernsehen, .... also von allem etwas :-)

geschrieben 09. September 2005 - 00:34

>>http://restkultur.ch/personal/wolf/scripts/db_backup/

das ist aber auch kein PHP-script.

ich hätte sowas nämlich auch gerne als PHP-script....
0

#10 Mitglied ist offline   Floele 

  • Gruppe: aktive Mitglieder
  • Beiträge: 919
  • Beigetreten: 22. Juni 04
  • Reputation: 0

geschrieben 09. September 2005 - 06:25

Aber sicher ist das ein PHP Skript. Wenn nicht dann sag mir bitte warum.
0

#11 Mitglied ist offline   Maetz3 

  • Gruppe: aktive Mitglieder
  • Beiträge: 146
  • Beigetreten: 13. Juni 05
  • Reputation: 0
  • Wohnort:K-Town

geschrieben 09. September 2005 - 07:42

Erstelle einfach ne TXT füge das ein (XXXX ändern) speicher es als php datei. Auf dein server laden und fertig.

<?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();

?>
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0