SQL mysqldump frage

pisio

Cadet 3rd Year
Registriert
Apr. 2008
Beiträge
45
Hallo :)

Wir haben 3 MySQL Datenbanken die wir sichern wollen. Ich versuche jetzt die Sicherung per batch zu machen.

Die batch Datei ist noch nicht fertig:

Code:
@echo off
set mysqldump=C:\MySQL\bin\mysqldump.exe

%mysqldump% -h localhost -u root sssss > Backup-%date%.sql
if errorlevel 1 goto Fehler1

echo "Sicherung erfolgreich"
timeout 5

move /Y C:\MySQL\bin\Backup-%date%.sql D:\Backup\

echo "Kopieren OK"
wait 5
goto end

:Fehler1
echo "Sicherung nicht moeglich"
pause
goto end

:end

Meine Frage jetzt. Wenn die Datenbank nicht existiert bekomme die Meldung "Sicherung nicht moeglich". Bis hier alles ok,
das Problem ist, dass das Script eine Datei erzeugt mit folgendem Inhalt.

Code:
-- MySQL dump 10.11
--
-- Host: localhost    Database: sssss
-- ------------------------------------------------------
-- Server version	5.0.51b-community

/*!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 */;

ich will aber diese Datei nicht erzeugen :mad:

Weiß jemand wie kann ich diese Datei nicht mehr erzeugen lassen?? :)
 
Ich denke, dir wird nur die Möglichkeit bleiben, im Fehlerfall die Datei wieder zu löschen. Angelegt wird sie ja auf jeden Fall, sobald mysqldump irgendetwas auf den Bildschirm schreiben würde.
 
Danke :D

Ich habe folgende Zeile unter Fehler1 hinzugefügt
del /q Backup-%date%.sql

Eine andere Frage. Damit die Sicherung klappt, muss ich die Datenbank stoppen oder kann ich auch während der Betrieb sichern??

z.B wenn die Sicherung starten und gleichzeitig wird auf die Datenbank was geschrieben, ist es Problem??
 
Kann ich jetzt nur raten, aber ich würde sagen, der Datenbankserver ist intelligent genug, um eine gültige Sicherung zu erzeugen. Hoffe ich zumindest :)
 
von der ubuntuusers Seite

Code:
Für den Vorgang der Datensicherung ist es extrem wichtig, 
dass während dieser Zeit keine Daten geschrieben werden.
D.h. es gilt, entweder alle Tabellen gegen Schreibzugriffe zu sperren, 
oder - besser - den MySQL-Server für die Zeit der Datensicherung 
herunterzufahren. Dabei ist auch zu beachten, dass der Server fehlerfrei 
herunter fährt.

Ist einer dieser Punkte nicht erfüllt, riskiert man Inkonsistenz in den Daten.

Also ich würde den Server zuerst stoppen und dann sichern ;)

Danke
 
Zurück
Oben