Introduksjon

mysqldump er et verktøy som utfører sikkerhetskopier for MySQL-databasen. Disse sikkerhetskopifilene består av SQL-setninger som kan kjøres i et visst operativsystem for å gjenskape den opprinnelige databasen. Mysqldump-verktøyet kan også ta sikkerhetskopi av en lokal database og samtidig gjenopprette den i en ekstern database ved hjelp av en enkelt kommando. Det har også et brukervennlig grensesnitt.


Hvis du ikke klarer å sikkerhetskopiere databasene, kan du oppleve en harddisk / systemfeil eller programvarefeil som kan være forferdelig. Det er viktig å utføre regelmessig sikkerhetskopi av MySQL-databasen.

I denne opplæringen vil vi vise deg en trinnvis prosess for hvordan du sikkerhetskopierer og gjenoppretter MySQL-databaser ved å bruke mysqldump-verktøyet.

Kommandosyntax for Mysquldump

Før vi begynner skal vi vise deg hvordan du kjører forskjellige kommandoer i mysqldump. Alle mysqldump verktøyfunksjoner har formen:

mysqldump [options] > file.sql

  • alternativer: Representerer mysquldump opsjoner
  • file.sql: Dump-filen (backup)

Hvordan ta sikkerhetskopi av MySQL-database

1. Sikkerhetskopiere en enkelt database

Vi skal starte med å lage en sikkerhetskopi for en database som heter database med brukeren rot lagre den deretter i katalogen database_name.sql.  For å fullføre dette utfører vi kommandoen nedenfor:

$ Mysqldump -u root -p database_name > database_name.sql

Du vil bli bedt om å oppgi root-passordet. Skriv det og klikk deretter Tast inn å sette i gang dumpen. Tiden det vil ta å fullføre denne prosessen avhenger av størrelsen på databasen.

Du kan utelate verdien -u og -p hvis du er logget inn i systemet som den samme brukeren du har brukt til å utføre eksporten i så fall kan det hende du ikke blir bedt om å oppgi et passord.

$ Mysqldump database_name > database_name.sql

2. Sikkerhetskopier flere MySQL-databaser

Hvis du vil lage en sikkerhetskopi for flere databaser, kan du bruke–database alternativet inkludert databaselisten du ønsker å sikkerhetskopiere. Forsikre deg om at hvert databasenavn er atskilt med et mellomrom.

$ Mysqldump -u root -p – database database_name_a database_name_b > databases_a_b.sql

Denne kommandoen vil lage en sikkerhetskopi eller en dump-fil med databaser oppført.

3. Sikkerhetskopier alle MySQL-databaser

Hvis du vil lage en sikkerhetskopi for alle databaser, må du bruke alternativet –alle databaser.

$ Mysqldump -u root -p – alle-databaser > all_databases.sql

Denne kommandoen vil også lage en sikkerhetskopi med alle databaser.

4. Sikkerhetskopier alle databaser til forskjellige filer

Som standard har mysqldump ikke et alternativ for sikkerhetskopiering for alle databaser til forskjellige filer. Imidlertid kan dette oppnås med en bash TIL som vist nedenfor:

for DB i $ (mysql -e ‘show databases’ -s –skip-column-names); gjøre
mysqldump $ DB > "$ DB.sql";
Ferdig

Denne kommandoen vil opprette en egen sikkerhetskopifil for alle MySQL-databaser som bruker databasens navn som filnavn.

Opprette en komprimert database dump-fil / sikkerhetskopi

Hvis databasen din er veldig stor, er det lurt å lage komprimert output. For å gjøre det, mate output til gzip-verktøyet, og deretter omdirigere output til en bestemt fil ved å bruke kommandoen nedenfor:

$ Mysqldump database_name > | gzip > database_name.sql.gz

Opprette en dump-fil ved hjelp av tidsstempel

Hvis du ønsker å opprette flere sikkerhetskopifiler på samme sted, legger du datoen til filnavnet på sikkerhetskopien som vist nedenfor:

$ mysqldump database_name > database_name – $ (dato +% Y% m% d). kvm

Denne kommandoen oppretter en dump-fil med formatet database-20180817.sql

På den annen side, hvis du bruker cronjob systematisere databasene dine, kan du utføre kommandoen nedenfor for å slette sikkerhetskopier som har eksistert i mer enn 30 dager..

finn / bane / til / sikkerhetskopier -type f-navn "* sql" -mtime +30-slett

Forsikre deg om at du redigerer kommandoen basert på sikkerhetskopifilnamn og plassering.

Hvordan gjenopprette MySQL Dump

Hvis du vil gjenopprette en MySQL-sikkerhetskopifil, bruker du MySQL verktøy. Lag først en ny database der du vil importere filene til. Hvis det er en eksisterende database, start med å slette den.

I vårt eksempel vil vi lage en ny database som heter database importer deretter sikkerhetskopifilen database_name.sql i det. For å oppnå dette, kjør kommandoene nedenfor:

$ Mysql -u rot -p -e "opprette database database_name";
$ Mysql -u root -p database_name < database_name.sql

Gjenopprette en enkelt database for MySQL

I tilfelle du har sikkerhetskopiert av MySQL-databasene dine -alle databaser og du vil gjenopprette en enkelt MySQL-databasefil fra dumpefilen, må du bruke alternativet–en database som vist i kommandoen nedenfor:

$ Mysql – databasens navn på en database < all_databases.sql

Eksportere og importere en database En enkelt kommando

For å importere og eksportere en dump-fil til en MySQL-database, kjører du kommandoen nedenfor:

$ Mysqldump -u root -p database_name | mysql -h remote_host -u root -p remote_database_name

Denne kommandoen kanaliserer detaljene til MySQL-klienten som er vert på en ekstern maskin og importerer den til en annen database som heter remote_database_name. Men før du kjører denne kommandoen, må du forsikre deg om at databasen er til stede på den eksterne serveren.

Konklusjon

Det er det. Vi har dekket det grunnleggende for å komme i gang. Vi håper denne guiden har hjulpet deg med å forstå hvordan du sikkerhetskopierer og gjenoppretter MySQL-databaser ved å bruke mysqldump-verktøyet.

Sjekk ut disse topp 3 beste webhotelltjenestene

FastComet

Startpris:
$ 2.95


Pålitelighet
9.7


Priser
9.5


Brukervennlig
9.7


Brukerstøtte
9.7


Funksjoner
9.6

Les anmeldelser

Besøk FastComet

A2 Hosting

Startpris:
$ 3.92


Pålitelighet
9.3


Priser
9.0


Brukervennlig
9.3


Brukerstøtte
9.3


Funksjoner
9.3

Les anmeldelser

Besøk A2 Hosting

ChemiCloud

Startpris:
$ 2.76


Pålitelighet
10


Priser
9.9


Brukervennlig
9.9


Brukerstøtte
10


Funksjoner
9.9

Les anmeldelser

Besøk ChemiCloud

Relaterte artikler for hvordan du gjør det

  • Slik optimaliserer du spørsmål i MySQL- og MariaDB-databasene
    mellomliggende
  • Hvordan være vert for Drupal 8 nettsteder med NGINX-servere på VPS-planer
    mellomliggende
  • Slik installerer du phpIPAM på CentOS 7
    mellomliggende
  • Hvordan tilbakestille et MySQL-root-passord på Ubuntu 18.04?
    nybegynner
  • Slik installerer du Zabbix på CentOS 7
    mellomliggende
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me