Databaser er kritiske infrastrukturer i moderne applikasjoner. Derfor er vanlige sikkerhetskopier veldig viktige. Data endres stadig, og det er en stor feilmargin, spesielt når du utfører spørsmål. Selv om relasjonsdatabaser er syrekompatible og kan beskytte mot krasjer og kraftfeil, er det en god idé å oppbevare en sikkerhetskopi av databasene dine.
I denne artikkelen vil vi rusle gjennom MySQL -sikkerhetskopierings- og restaureringsprosedyren og lære å dumpe databaser til en fil og gjenopprette den.
Krav
Før vi fortsetter med denne opplæringen, antar vi at du har:
Når du er klar, la dykke inn.
Eksporterer MySQL -databasen
Det første trinnet er å lære å eksportere databasen din. Heldigvis, i MySQL, kan du bruke MySQLDump -verktøyet, som lar deg spesifisere databasen du ønsker å sikkerhetskopiere, og den vil automatisk skrive den til en fil.
Før du kjører MySQL Dump -verktøyet, må du forsikre deg om at du har tilgang til databasen du ønsker å få tilgang til. For det andre, sørg for at ingen tilkoblinger leser eller skriver til databasen.
Dette vil forhindre at enhver klient gjør endringer under sikkerhetskopieringen.
Når du er klar, kjør kommandoen nedenfor for å ta sikkerhetskopi av en bestemt database:
$ mysqldump -u brukernavn -p Target_Database> Fil.SQL
Vi starter med å påkalle MySQLDump -kommandoen etterfulgt av brukernavnet som brukes til å logge inn på MySQL -serveren. Dette blir fulgt av -p, slik at MySQL kan be deg om den spesifiserte brukerens passord.
Til slutt spesifiserer vi navnet på databasen vi ønsker å ta sikkerhetskopi og navnet på filen vi ønsker å lagre databasen.
Anta for eksempel at vi ønsker å sikkerhetskopiere databasen som heter Hello_world. Deretter kan vi kjøre kommandoen som vist:
mysqldump -u root -p hello_world> hello_world_db.SQL
Kommandoen ovenfor bør bruke rotbrukeren til å sikkerhetskopiere Hello_World -databasen til Hello_World_DB.SQL -fil.
Husk at hvis kommandoen er vellykket, vil den ikke gi noen terminalutgang.
Sjekk innholdet i den eksporterte filen med CAT:
$ kattfilnavn.SQL
Et eksempelutgang er som vist:
Husk at utdataene kan variere veldig avhengig av dataene som er lagret i databasen.
Importere MySQL -database fra eksportert SQL -fil - Metode 1
Som alle sikkerhetskopier, vil du møte en forekomst der du må gjenopprette databasen. Enten du reparerer en ødelagt database eller tilbakefører databasen til et bestemt punkt, kan du bruke den eksporterte filen for å oppnå denne.
Før du importerer SQL -filen, må du forsikre deg om at databasen du ønsker å gjenopprette dataene som allerede eksisterer. Ellers, utfør CREATE Database Query for å initialisere et nytt skjema.
Når databasen er klar, kjør kommandoen nedenfor for å gjenopprette SQL -filen.
$ mysql -u brukernavn -p database_name < exported_file.sql
Kommandoen over krever at du spesifiserer databasenavnet du ønsker å gjenopprette og banen til SQL -filen.
For eksempel:
mysql -u root -p hello_world < hello_world_db.sql
Kommandoen vil importere SQL -filen og gjenskape databasen i den spesifiserte databasen.
Importer SQL -fil - Metode 2
Du kan også bruke MySqlimport -verktøyet til å gjenopprette en SQL -fil. Kommandosyntaks er som vist nedenfor:
$ mysqlimport -u brukernavn -p database_name/path/to/sq/file.SQL
I motsetning til den første metoden, krever ikke kommandoen å bruke < operator. However, you do no need to define the path to the SQL file.
Eksempel:
mysqlimport -u root -p hello_world .\ hello_world_db.SQL
Du har gjenopprettet databasen din.
Konklusjon
Som du oppdaget i denne opplæringen, er det relativt greit å sikkerhetskopiere og gjenopprette en MySQL -database.