# MySQL Datenbankbackups



## KillerMeloneXY (3. Sep 2014)

Hallo,

Ich habe durch nachlesen erfahren, dass man entweder mit SELECT * INTO OUTFILE ... oder aber mit mysqldump ... Backups einer MySQL-Datenbank machen kann. Meine Frage ist nun: kann man anstatt die mysqldump.exe auszuführen auch das Gleiche mit Query und Update machen? Und wenn ja wie?

Vielen Dank schon einmal im vorraus!


----------



## JavaMeister (3. Sep 2014)

Ich verstehe die Frage nicht.

Bitte stelle das Problem dar. Deine Mögliche Lösung und was dein erwartetes Ergebnis ist.

Alternativ google nach "Wie man Fragen richtig stellt".

Vielen Dank!


----------



## KillerMeloneXY (3. Sep 2014)

Ich möchte automatisch Backups machen, von einem Server, der iwo angemietet ist und wo meine dB drauf ist. Das soll automatisch vom Client aus geschehen und nicht auf dem Server abgelegt werden sondern auf dem clientpc. Meine Ideen wären das mit SELECT INTO ... (was man im Programm als SQL Query schreiben kann) oder aber mit der executeable mysqldump, welche aber dann auf dem Server wäre und nichts mehr mit meinem Programm zu tun hätte (denk ich mal). Die erste Möglichkeit liefert allein die Tabelle, die man aber meines Wissens nach nicht so einfach wieder aufspielen kann, wie die SQL-Datei die die zweite Möglichkeit erzeugt. Ich möchte nun wissen, ob ich die zweite Methode auch mit Query's und Updates's realisieren kann.

Ist das so verständlicher?


----------



## Tobse (4. Sep 2014)

Schau dir mal an wie phpMyAdmin das macht. Grob zusammengefasst:

- Man kann entscheiden, ob die Tabellenstruktur auch gebackupt werden soll (zu empfehlen wenn sie da was ändert)

Es wird per SELECT * alles ausgelesen und dann als Query neu formatiert ausgegeben. Beispiel:

```
-- phpMyAdmin SQL Dump
-- version 4.0.9
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Erstellungszeit: 04. Sep 2014 um 09:25
-- Server Version: 5.5.34
-- PHP-Version: 5.4.22

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Datenbank: `test`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `contacts`
--

CREATE TABLE IF NOT EXISTS `contacts` (
  `user_a` int(12) NOT NULL,
  `user_b` int(12) NOT NULL,
  `approved` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `contacts`
--

INSERT INTO `contacts` (`user_a`, `user_b`, `approved`) VALUES
(7, 6, 1),
(5, 7, 1),
(5, 6, 1);
```

Auf diese Weise reicht dir natürlich 1 Query nicht. Aber du kannst den ganzen Dateiinhalt als einen query absenden und fertig ist das Restore.


----------



## KillerMeloneXY (5. Sep 2014)

Wenn ich das richtig verstehe ist das die Ausgabe der Dumpdatei...
Ich benötige den Sql Syntax, falls es dazu einen gibt.
Mit einem normalen Select bekommt man nunmal ja nur den Inhalt der Tabellen und keine Sql datei mit der ganz einfach die DB wiederhergestellt werden kann.
Gibt es dazu ein Sql command oder muss ich mir das selbst zusammenbauen?

Vielen Dank schoneinmal


----------



## Tobse (5. Sep 2014)

Die Formatierung und die SQL-Syntax musst du dir selber bauen. Sollte aber schnell passiert sein.


----------

