Som en af de førende frit tilgængelige databaser er MySQL et populært valg til alle slags webapplikationer. At blive udsat for internettet, er din app naturligvis udsat for ondsindede angreb. Hvis din server er kompromitteret, skal du i bedste fald geninstallere din applikation; i værste fald kan du miste dine data helt. Du vil også i sidste ende være i en situation, hvor du skal overføre en database fra en server til en anden.
Hvad bruges mysqldump til?
Det mysqldump værktøj har du dækket for begge disse situationer. Den grundlæggende funktion er at tage en MySQL database og "dumpe" den ud som en tekstfil. Men ikke bare nogen tekstfil … filen er en sæt af SQL-sætninger. Disse udsagn vil, når de udføres, genopbygge din database til den præcise tilstand, den var i, da du udførte dumpen.
Så du kan bruge mysqldump at tage eksport af en database. Disse kan være med henblik på sikkerhedskopiering, eller fordi du flytter databasen til en ny vært. I begge tilfælde vil du på et tidspunkt importere tekstfilen tilbage til en MySQL-databaseserver. Det vil udføre alle SQL-sætningerne i filen, som genopbygger din DB til sin oprindelige tilstand. Denne del bruger faktisk ikke mysqldump kommando, men det ville heller ikke være muligt uden dette værktøj.
MySQL-dokumenterne indeholder andre metoder til sikkerhedskopiering, men alle har deres egne ulemper:
- Hotcopying en DB fra MySQL Enterprise er en fantastisk måde at opnå disse sikkerhedskopier på … hvis du ikke har noget imod Enterprise prislappen.
- Kopiering af DB 's datakataloger kan være vanskelig, hvis du flytter på tværs af operativsystemer, da deres destinationer vil være forskellige.
- Eksportere til en afgrænset tekstfil giver dig indholdet, men du skal selv genoprette strukturen. Og du får det bedre lige …
- Du kan ofte sikkerhedskopiere databaser fra GUI-programmer som MySQL Workbench. Men dette er en manuel proces, det vil sige ikke noget, du kan skrive eller inkludere i et batchjob.
Installation af mysqldump Tool
Hvis du er interesseret i denne artikel, er chancerne for, at du allerede har MySQL installeret. Hvis det er tilfældet, gode nyheder - har du allerede mysqldump! Hvis ikke, kan du simpelthen installere MySQL på standard måde for dit operativsystem.
For Windows, se vores instruktioner her for at installere MySQL på Windows 7 (installationsprocessen er stadig meget den samme). Ligeledes på macOS kan du se vores anvisninger for at installere MySQL på MacOS 10.7 (igen, ældre, men stadig gældende). Brugere af Ubuntu-baserede Linux-systemer kan bruge følgende kommando til at installere MySQL-klienten og værktøjerne:
sudo apt install mysql-klient Når du er installeret, kan du bruge mysqldump for at få en fuld backup af din database. mysqldump -h DB-værtens navn eller IP -u DB-brugerens navn -p databasens navn> db_backup.sql
Lad os bryde denne kommando lidt: Når det er færdigt, har du en .SQL-fil. Dette er kun en tekstfil, der indeholder SQL-sætninger. Du kan åbne den i en teksteditor for at inspicere indholdet. Ser man på en eksport fra en WordPress database, kan du se, hvordan disse filer er sat sammen. Filen er opdelt i sektioner. I ovenstående billede kan vi se det første afsnit opsætter tabellen til WordPress-kommentarer. Det andet afsnit genskaber derefter indholdet (dvs. kommentarsporinger), der var i disse tabeller. Når du går til at importere din MySQL-dump igen, vil kommandoen arbejde gennem filen, udføre udsagnene og genopbygge din database, ligesom den var. Så hvordan gør du det? Lad os se. Inden du kan gøre dette, skal du bruge en allerede oprettet database, og have et gyldigt brugernavn og adgangskode. Du skal også have alle tilladelser til databasen. (Strengt taget behøver du ikke GIVE tilladelse, men det er nemmere at bare give dem alle.) Du kan finde oplysninger om databasetilladelser i denne artikel. Følg disse trin for at importere dine data igen: Når du er færdig, vil du se en lang liste med meddelelser, der konstaterer, at SQL-sætninger udføres. Hold øje med fejl, men hvis du har de rigtige tilladelser, skal du være i orden, da det er en tom database. Når processen er færdig, har du en kopi af din oprindelige database. Du kan bekræfte dette ved at lave et andet dump og sammenligne de to udgange. En anstændig tekstredigerer vil kunne gøre dette for dig eller et dedikeret * diff * -værktøj som det, der vises i nedenstående billede: Der er kun to forskelle mellem disse filer, som repræsenteret af røde linjer øverst og nederst i højre rullepanel. Den første er den linje, der indeholder databasenavnet, og vi forventer, at dette skal være anderledes, fordi vi navngav dem forskelligt. Den anden, hele vejen i slutningen, er tidsstempel for dumpfilen. Og vi forventer også, at dette skal være anderledes, da vi genskabte den anden database efter den første. Ellers er filerne nøjagtig de samme, hvilket betyder, at de databaser, der genererede dem, er lige så godt! Udtrækning af MySQL Dump
Importerer en MySQL Dump File