Lily: Datenbank Backup

Hi, ich will mit mysqldump einen Datenbank Backup machen. Nun habe ich folgenden Code geschrieben:

  
<?php  
include("include/config.inc.php");  
//Datenbank sichern  
ignore_user_abort(true); //Kein Timeout  
$file = time().".sql";  
$dirname = "C:\\Programme\\xampp\\htdocs\\enbit-client\\";  
$mysqldump = $dirname.$file;  
  
//-uBENUTZERNAME -pPASSWORD -h localhost DATENBANKNAME >  
system("C:\\Programme\\xampp\\mysql\\bin\\mysqldump.exe -u".$db_user." -p".$db_pass." -hlocalhost ".$db." > ".$mysqldump.", ".$fp);  
echo ($fp==0) ? "Daten exportiert" : "Es ist ein Fehler aufgetreten";  
///Datenbank sichern  
?>

Nun funktioniert der Backup auch (glaube ich). Nur ist der Inhalt der Backupdatei anders als ich erwartet habe. Das hier steht in der beispiel.sql:

IST das normal? Sollten in dieser Datei nicht die Daten aus der Datenbank stehen, die in den Feldern stehen?

-- MySQL dump 10.11
--
-- Host: localhost    Database: client
-- ------------------------------------------------------
-- Server version 5.0.45-community-nt

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

Danke!

  1. Hi Lily!
    Na, hast du jetzt den Job angenommen? Ich hoffe, du kriegst mehr als 300 Euro....
    Zum Thema: Das, was du dumpst, sieht mir eher nach der Struktur der Datenbank denn nach ihrem Inhalt aus.
    Leider kann ich dir nicht sagen, wie du an die Daten kommst (außer mit select...)

    Ich wünsche dir trotzdem viel Erfolg,
    Richard

  2. Hi!

    Doch. Eigentlich sollten dort alle Befehle stehen, die dir deine DB wieder in den Zustand bringen in der sie war. (von drop und create table bis zu inserts) Ich nehme an Du hast irgendwelche Parameter vergessen/nicht richtig gesetzt. Ich habe nie die Kommandozeilenparameter benutzt sondern immer php myadmin. Wenns gar nicht geht, dann versuchs doch erstmal damit.

    1. Hallo Steel!

      Sei bitte so nett, ein Mindestmaß an Text des Posters, worauf Du Dich beziehst, zu zitieren!

      Doch.

      Denn, worauf bezieht sich dieses Deinen »Doch.«? Hier wird zu Recht oft TOFU gerügt, aber Du machst hier NOFU ;)

      Also, bitte zitiere für Datenbankunwissende wie mich zumindest das, worauf Du antwortest!

      Dann würdest Du nämlich echt steel zeigen!

      Viele Grüße aus Frankfurt/Main,
      Patrick

      --

      _ - jenseits vom delirium - _
      [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
      Nichts ist unmöglich? Doch!
      Heute schon gegökt?
      1. Hi Patrick aus Mainhattan

        Denn, worauf bezieht sich dieses Deinen »Doch.«? Hier wird zu Recht oft TOFU gerügt, aber Du machst hier NOFU ;)

        *lacht* NOFU ist gut. Natuerlich (?) bezieht sich meine Antwort auf die letzte Frage:
        "Sollten in dieser Datei nicht die Daten aus der Datenbank stehen, die in den Feldern stehen?"

        Aber Du hast natuerlich Recht. *schaem*

        Dann würdest Du nämlich echt steel zeigen!

        Der war auch gut.

  3. Ahoi Lily,

    C:\meinpfad\mysqldump.exe -help
    Usage: mysqldump [OPTIONS] database [tables]
    OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
    OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
    For more options, use mysqldump --help

    letzteres machst du bitte selber ist ziemlich viel.

    MfG

  4. Hallo!

    IST das normal? Sollten in dieser Datei nicht die Daten aus der Datenbank stehen, die in den Feldern stehen?

    Diese Daten scheinen mir zuwenig zu sein. Höchstens die Datenbank hat keinerlei Tabellen. Dann könnte die Ausgabe schon stimmen.

    Versuche einmal nur den mysqldump Befehl richtig auf der Konsole hinzubekommen.

    mysqldump -uUSER -pMEINPASSWORT -hlocalhost DATENBANKNAME

    sollte einen korrekten Dump liefern.
    Wenn das funktioniert versuche den Befehl mit PHP aufzurufen.

    mfg
      frafu