[gelöst]Backup SQL Datenbank

Hier kann gesichert und wiederhergestellt werden.
Antworten
sloomf
Foren-Einsteiger
Beiträge: 13
Registriert: 29. Mai 2009, 09:11

[gelöst]Backup SQL Datenbank

Beitrag von sloomf »

Hallo Forum,

Ich lasse auf meinem Homeserver ein CRM auf PHP/MySQL Basis laufen.
Die Installation der Datenbank auf den "shares" wird ja nicht empfohlen, da es schnell zu Inkonsistenzen kommen kann.

Trotzdem möchte ich natürlich regelmäßig (und automatisch) die Datenbank sichern.
Gibt es die Möglichkeit die Datenbank-Datei regelmäßig auf ein "share" zu kopieren zu lassen?
Oder besser noch incrementelle Backups (wie beim Sichern von Daten auf den Client Rechnern möglich)?

Was würdet ihr empfehlen und was lässt sich mit Bordmitteln realisieren?

Besten Dank vorweg
Stephan
Zuletzt geändert von sloomf am 31. Mai 2009, 20:53, insgesamt 1-mal geändert.
Benutzeravatar
larry
Moderator
Beiträge: 9999
Registriert: 22. Dez 2007, 16:13

Re: Backup SQL Datenbank

Beitrag von larry »

Mit Boardmitteln ist das schwierig. Ich arbeite allerdings mit dem Microsoft SQL-Server.
Normalerweise ist die Datenbankdatei gesperrt, solange der SQL-Server läuft.
Zum Sichern müsstest du also vorher den SQL-Server beenden und dann die Datenbankdatei kopieren.

Bei Microsoft gibt es zusätzlich die Möglichkeit beim SQL eine Sicherheitsmedium zu hinterlegen. Dieses Medium kann auch eine Sicherungsdatei im Share sein.
Dann kann hier direkt über ein SQL-Statement die komplette DB gesichert oder ein inkrementelles Backup angefertigt werden. Keine Ahnung ob es dies auch bei MySQL gibt.

Gruß
Larry
Hauptserver: Intel I3-2100, MSI H67MA-E45, WHS 2011
System: Corsair Force GT 90GB - Datenplatten: 2*Seagate 3TB + ext. WD 500 GB für Serversicherung(nur System),8 GB Ram, Fractal Design R3, be quiet! L7-300W, 2*Digital Devices cineS2(Mediaportal)
Archivserver: Intel Cel.G530, Intel DB65AL, WHS 2011, Drivebender
System: SamsF4 320GB - Datenplatten: 5*2TB SamsF4. + VHD für Serversicherung(nur System), 4 GB Ram, Lancool K-11X, be quiet! L7-300W
Backupserver: AMD Athl. X2 4850e, Gigabyte GA-MA780G-UD3H, 3*Asrock SATA3 + 1* DeLOCK 70154 SATA Controller, WHS 2011, Drivebender
System: SamsF4 320 GB - Datenplatten: 15 diverse Platten + VHD für Serversicherung(nur System) ,4 GB Ram, Seasonic ss 330 Watt
Router: AVM FRITZ!Box 7270, Kabel Deutschland
Clients: 2* HTPC, Win7 HP 32 Bit - 2*Arbeitsrechner Win7 HP 64 Bit - 1*Laptop Win7 HP 32-Bit
Benutzeravatar
AliG
Moderator
Beiträge: 3728
Registriert: 6. Jun 2007, 17:33
Wohnort: Salzburg, Österreich

Re: Backup SQL Datenbank

Beitrag von AliG »

Hi!

Für MySQL gibt es mysqldump.exe (zu finden im bin Ordner von MySQL), damit kannst du ein Backup deiner Datenbank anfertigen.

In der CMD würde so ein Befehl etwa so aussehen:

Code: Alles auswählen

mysqldump.exe db_name > \\localhost\Backup\backup-file.sql
Das ganze kannst du dann in eine Batch-Datei packen und per Taskplaner automatisch ausführen lassen.

Weitere Infos zu mysqldump siehe: http://dev.mysql.com/doc/refman/5.1/de/mysqldump.html

lg Alex
Mache ich etwas richtig, merkt es keiner. Mache ich etwas falsch, vergisst es keiner. :D

Mein WHS
Benutzeravatar
WartiZ
Foren-Mitglied
Beiträge: 354
Registriert: 6. Nov 2007, 13:42
Wohnort: Dresden

Re: Backup SQL Datenbank

Beitrag von WartiZ »

Such mal im Internet nach mysqldumper. Damit hab ich beste Erfharungen machen können.

LG henry
PRIMERGY Econel 100
Intel Pentium D 925 (3.0 GHz/ 2x2 MB L2 Cache/ 800MHz FSB), 1.024 MB DDR2-533 ECC, 4-Port S-ATA RAID-Controller, 2x ATA100, ATI Rage XL onboard (VGA), DVD-ROM, 3x PCIe, 4x PCI,
10/100/1000 MBit/s GigaBit Ethernet LAN, 6x USB2.0, seriell, parallel, 2x PS/2
Festplatten 1x IDE 160 GB // SATA Platten 1 +2 931 GB // Platten 3+4 465 GB, Sicherungsplatte USB 298 GB
freigebener Laserdrucker am Paralellanschluss
sloomf
Foren-Einsteiger
Beiträge: 13
Registriert: 29. Mai 2009, 09:11

Re: Backup SQL Datenbank

Beitrag von sloomf »

Vielen Dank für die Hinweise!
Mit mysqldump in einer Batch-Datei klappt es.

Gruß
Stephan

PS:
Wie kann man ein Thema in diesem Forum als erledigt markieren?
Benutzeravatar
AliG
Moderator
Beiträge: 3728
Registriert: 6. Jun 2007, 17:33
Wohnort: Salzburg, Österreich

Re: Backup SQL Datenbank

Beitrag von AliG »

Hi!
sloomf hat geschrieben:Wie kann man ein Thema in diesem Forum als erledigt markieren?
Gute Frage :)
Du kannst den Titel des ersten Postings ändern und beispielsweise [gelöst] davorschreiben, dann sieht man das auch in der Thread-Übersicht.

lg Alex
Mache ich etwas richtig, merkt es keiner. Mache ich etwas falsch, vergisst es keiner. :D

Mein WHS
sloomf
Foren-Einsteiger
Beiträge: 13
Registriert: 29. Mai 2009, 09:11

Re: [gelöst]Backup SQL Datenbank

Beitrag von sloomf »

Hallo zusammen,

Ich stell einfach mal den Batch hier zur Verfügung:

Code: Alles auswählen

@echo off

REM DB Dump
REM
REM #
REM #erzeugt Sicherheitskopie der Datenbank vTigerCRM
REM #
REM #Batch wird jeden Tag ausgeführt
REM #es wird jeden Tag eine neue Datei geschrieben
REM #nach Tag 7 wird wirder mit der 1ten Datei  begonnen
REM #so ist immer zugriff auf die letzten 7 Tage möglich

:START

goto TEST1:

:TEST1

echo Prüfung 1 

if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM1.sql goto TEST2

echo 1 existiert nicht

set dat_name=backup-vTigerCRM1.sql
set del_name=backup-vTigerCRM2.sql
goto DUMP

:TEST2

echo Prüfung 2

if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM2.sql goto TEST3

set dat_name=backup-vTigerCRM2.sql
set del_name=backup-vTigerCRM3.sql
goto DUMP

:TEST3

echo Prüfung 3

if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM3.sql goto TEST4

set dat_name=backup-vTigerCRM3.sql
set del_name=backup-vTigerCRM4.sql
goto DUMP

:TEST4

echo Prüfung 4

if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM4.sql goto TEST5

set dat_name=backup-vTigerCRM4.sql
set del_name=backup-vTigerCRM5.sql
goto DUMP

:TEST5

echo Prüfung 5

if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM5.sql goto TEST6

set dat_name=backup-vTigerCRM5.sql
set del_name=backup-vTigerCRM6.sql
goto DUMP

:TEST6

echo Prüfung 6

if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM6.sql goto TEST7

set dat_name=backup-vTigerCRM6.sql
set del_name=backup-vTigerCRM7.sql
goto DUMP

:TEST7

echo Prüfung 7

if exist \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\backup-vTigerCRM7.sql goto TEST1

set dat_name=backup-vTigerCRM7.sql
set del_name=backup-vTigerCRM1.sql
goto DUMP

:DUMP

mysqldump --opt --user XXX -pXXX vTigerCRM > \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\%dat_name%
DEL \\XXX\WEBINHALT\vTigerCRM\__DB_DUMP\%del_name%

Es müssen nur die Pfade, Dateinamen und der Logon für den mysqldump angepasst werden.
Hab den Job täglich eingeplant und lasse die Daten auf einem dupliziertem Share speichern.

Gruß
Stephan
Antworten