Schemaläggning av backup på MySQL databaser

Uppdaterad

Ta backup på sin databas kan vara en bra idé. Här kommer jag vissa hur man kan skapar en backup och lägga in en schemaläggning för daglig backup i Windows 2003 server.

För att skapa en backup av databaser eller tabeller använder man sig av mysqldump.exe. Man använder sedan -u och -p för att logga in och sedan tabellen/er eller databasen/er följt av > och filnamnet på backupen som ska skapas.
Kod: Markera allt
mysqldump -u user -ppassword databas > databas.sql
För att ta backup på alla databaser använder man --all-databases istället för tabellen/er och databasen/er.
Om man har stora databaser kan det vara bra att komprimera filen. Detta görs med hjälp av pipe | kommandot som skickar data till ett program. I detta fall använder jag gzip och som har filändelsen .gz.
Kod: Markera allt
mysqldump -u user -ppassword --all-databases | gzip > databases.sql.gz
För att kunna återskapa data som ändrats mellan backuperna behöver man starta bin-log som loggar alla händelser till databaserna. Detta görs genom att lägga till log-bin="G:/Backup/MySQL/backup-binlog" under [mysqld] i my.ini.

Kommandoprompts-skript

Jag använder mig av en vanlig .cmd fil för att skriva kommandona för att skapa backupen.
  1. Skapa ett nytt text dokument i notepad.
  2. Lägg in kommandona.
  3. Spara som namn.cmd.
Mina kommandon ser ut så här.
Kod: Markera allt
"C:\Program Files\MySQL Server 5.1\bin\mysqldump.exe" -u user -ppassword --add-drop-table --all-databases | "C:\Program Files\gzip\gzip.exe" -9 > G:\Backup\MySQL\backup-%DATE%.sql.gz
"C:\Program Files\MySQL Server 5.1\bin\mysqladmin.exe" -u user -ppassword flush-logs
forfiles /p G:\Backup\MySQL\ /m backup-*.* /d -7 /c "cmd /c del @path"
Första raden tar backup på alla databaser och packar de i gzip till fil.gz. Jag använder här också --add-drop-table som tar bort tabellerna om dom finns vid återställning. För att en ny backup ska skapas använder jag %DATE% i fil-namnet som skriver ut dagens datum.
På andra raden "flushar" jag bin-logarna för att en ny ska skapas och jag kan ta bort den gamla.
Sista raden använder jag mig av forfiles för att ta bort gamla log-bin filer och backuper som är äldre än 7 dagar.

Schemaläggning

Nu är det bara att lägga till cmd filen i schemaläggningen.
  1. Öppna kontrollpanelen och sedan Scheduled Tasks.
  2. Skapa en schemaläggning genom att följa guiden Add Scheduled Task.
  3. Välj din .cmd-fil och tid för körning.

Mer om

Läs mer om forfiles på microsoft.com

Publiserad
Uppdaterad


Inga kommentarer

Skriv en kommentar

Återstående antal tecken: 768

Uppdaterad: 2017-08-10 11:53
Copyright © 2009-2024 - tunisempire.com - All Rights Reserved RSS Feed Sitemap