Som en av de ledande fritt tillgängliga databaserna är MySQL ett populärt val för alla typer av webbapplikationer. Att vara utsatt för Internet är din app givetvis utsatt för skadliga attacker. Om din server är äventyrad måste du i bästa fall återinstallera din applikation. i värsta fall kan du förlora dina uppgifter helt. Du kommer också slutligen att vara i en situation där du måste migrera en databas från en server till en annan.
Vad används mysqldump för?
De mysqldump verktyg har du täckt för båda dessa situationer. Det är grundläggande funktionen att ta en MySQL-databas och "dumpa" den ut som en textfil. Men inte bara någon textfil … filen är en uppsättning SQL-satser. Dessa uttalanden, när de körs, kommer att omkonstruera din databas till det exakta läget det var i när du körde dumpningen.
Så du kan använda mysqldump att ta export av en databas. Dessa kan vara i syfte att säkerhetskopiera, eller eftersom du flyttar databasen till en ny värd. I båda fallen kommer du någon gång importera Textfilen återgår till en MySQL-databasserver. Det kommer att exekvera alla SQL-satser i filen, som återuppbygger din DB till dess ursprungliga tillstånd. Den här delen använder inte faktiskt mysqldump kommando, men det skulle inte vara möjligt utan det här verktyget heller!
MySQL-dokumenten innehåller andra metoder för säkerhetskopiering, men alla har sina egna nackdelar:
- Hotcopying ett DB från MySQL Enterprise är ett utmärkt sätt att uppnå dessa säkerhetskopior … om du inte har något emot Enterprise prislappen.
- Att kopiera DB: s datakataloger kan vara svårt om du flyttar över operativsystem, eftersom deras destinationer kommer att vara annorlunda.
- Exportera till en avgränsad textfil ger dig innehållet, men du måste återskapa strukturen själv. Och du skulle bara få det rätt …
- Du kan ofta säkerhetskopiera databaser från GUI-program som MySQL Workbench. Men det här är en manuell process, det vill säga inte något du kan skriva eller inkludera i ett partijobb.
Installera mysqldump-verktyget
Om du är intresserad av den här artikeln är chansen att du redan har MySQL installerad. Om så är fallet, goda nyheter - du har redan mysqldump! Om inte, kan du helt enkelt installera MySQL på standardvägen för ditt operativsystem.
För Windows, kolla våra instruktioner här för att installera MySQL på Windows 7 (installationsprocessen är fortfarande väldigt densamma). På MacOS, se även våra anvisningar för att installera MySQL på MacOS 10.7 (igen, äldre men fortfarande tillämpliga). Användare av Ubuntu-baserade Linux-system kan använda följande kommando för att installera MySQL-klienten och verktygen:
sudo apt installera mysql-klienten När du har installerat kan du använda mysqldump för att få en fullständig säkerhetskopiering av din databas. mysqldump -h DB-värdens namn eller IP -u DB-användarens namn -p databasnamnet> db_backup.sql
Låt oss bryta det här kommandot lite: När det är klart kommer du att ha en .SQL-fil. Det här är bara en textfil som innehåller SQL-satser. Du kan öppna den i någon textredigerare för att inspektera innehållet. Om du tittar på en export från en WordPress-databas kan du se hur dessa filer sätts ihop. Filen är uppdelad i sektioner. I ovanstående bild kan vi se det första avsnittet ställer upp tabellen för WordPress-kommentarer. Den andra sektionen återskapar sedan innehållet (dvs kommentarer poster) som fanns i de tabellerna. När du går för att importera din MySQL-dump igen, kommer kommandot att fungera genom filen, genomföra deklarationerna och bygga om din databas precis som den var. Så hur gör du det? Låt oss ta en titt. Innan du kan göra detta behöver du en databas som redan har skapats och har ett giltigt användarnamn och lösenord. Du bör också ha alla behörigheter för databasen. (Strängt taget behöver du inte BEVILJA tillstånd, men det är lättare att bara bevilja dem alla.) Du kan hitta detaljer om databasbehörigheter i den här artikeln. Gör så här för att importera dina data igen: När du är klar ser du en lång lista med meddelanden som noterar att SQL-satser utförs. Håll ögonen på fel, men om du har rätt behörighet, borde du vara bra eftersom det är en tom databas. När processen är klar kommer du att ha en kopia av din ursprungliga databas. Du kan verifiera detta genom att göra en annan dumpning och jämföra de två utgångarna. En anständig textredigerare kan göra det för dig, eller ett dedikerat * diff * -verktyg som det som visas i bilden nedan: Det finns bara två skillnader mellan dessa filer, som representeras av röda linjer längst upp och längst ner till höger. Den första är raden som innehåller databasnamnet, och vi förväntar oss att detta ska vara annorlunda eftersom vi namngav dem annorlunda. Den andra, hela vägen i slutet, är tidsstämpeln för dumpningsfilen. Och vi förväntar oss också att detta ska vara annorlunda, eftersom vi återskapade den andra databasen efter det första. Annars är filerna exakt desamma, vilket betyder att de databaser som genererade dem är lika bra! Extrahera en MySQL Dump
Importera en MySQL Dump File