Introduktion

mysqldump är ett verktyg som utför säkerhetskopior för MySQL-databasen. Dessa säkerhetskopieringsfiler består av SQL-satser som kan köras i ett visst operativsystem för att återskapa den ursprungliga databasen. Mysqldump-verktyget kan också säkerhetskopiera en lokal databas och samtidigt återställa den i en fjärrdatabas med ett enda kommando. Det har också ett användarvänligt gränssnitt.


Om du inte säkerhetskopierar databaserna kan du uppleva ett hårddisk / systemfel eller programvarufel som kan vara fruktansvärt. Det är viktigt att utföra regelbunden säkerhetskopiering av din MySQL-databas.

I den här handledningen kommer vi att visa dig en steg-för-steg-process för hur du säkerhetskopierar och återställer MySQL-databaser med hjälp av mysqldump-verktyget.

Kommandosyntax för Mysquldump

Innan vi börjar ska vi visa dig hur du kör olika kommandon i mysqldump. Alla mysqldump verktygsfunktioner har formen:

mysqldump [flaggor] > file.sql

  • alternativ: Representerar mysquldump-alternativ
  • file.sql: Dump-filen (backup)

Hur du säkerhetskopierar MySQL-databas

1. Säkerhetskopiera en enda databas

Vi ska börja med att skapa en säkerhetskopia för en databas som heter Databas namn med användaren rot spara det sedan i katalogen database_name.sql.  För att utföra detta utför vi kommandot nedan:

$ Mysqldump -u rot -p databasnamn > database_name.sql

Du blir ombedd att ange root-lösenordet. Skriv den och klicka sedan Stiga på att initiera dumpningen. Tiden det kommer att ta för att slutföra den här processen beror på storleken på din databas.

Du kan utelämna värdet -u och -p om du är inloggad i systemet som samma användare som du har använt för att utföra exporten i vilket fall du kanske inte blir ombedd att ange ett lösenord.

$ Mysqldump databasnamn > database_name.sql

2. Säkerhetskopiera flera MySQL-databaser

Om du vill skapa en säkerhetskopia för flera databaser kan du använda–databas alternativet inklusive databaslistan som du vill säkerhetskopiera. Se till att varje databasnamn är separerat med ett mellanslag.

$ Mysqldump -u root -p – databas databasnamn_a databasnamn_b > databases_a_b.sql

Detta kommando skapar en säkerhetskopia eller en dumpfil med listade databaser.

3. Säkerhetskopiera alla MySQL-databaser

För att skapa en säkerhetskopia för alla databaser måste du använda alternativet –alla databaser.

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

Detta kommando skapar också en säkerhetskopia med alla databaser.

4. Säkerhetskopiera alla databaser till olika filer

Som standard har mysqldump inget backup-alternativ för alla databaser till olika filer. Detta kan dock uppnås med en bash FÖR slinga som visas nedan:

för DB i $ (mysql -e ‘visa databaser’ -s – ship-column-names); do
mysqldump $ DB > "$ DB.sql";
Gjort

Detta kommando skapar en separat säkerhetsfil för alla MySQL-databaser som använder databasens namn som filnamn.

Skapa en komprimerad databasdumpfil / säkerhetskopia

Om din databas är väldigt stor är det klokt att skapa komprimerad utgång. För att göra det, mata utskriften till gzip-verktyget och omdirigera sedan utdata till en specifik fil med kommandot nedan:

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

Skapa en dumpfil med tidsstämpel

Om du vill skapa flera reservfiler på samma plats lägger du till datumet i filnamnet på din säkerhetskopia som visas nedan:

$ mysqldump databasnamn > databasnamn – $ (datum +% Y% m% d) .sql

Detta kommando skapar en dumpfil med formatet databasnamn-20180817.sql

Å andra sidan, om du använder cronjob systematisera dina databaser, kan du köra kommandot nedan för att radera alla säkerhetskopior som har funnits i mer än 30 dagar.

hitta / sökväg / till / säkerhetskopior -typ f-namn "* .sql" -mtime +30-radera

Se till att du redigerar kommandot baserat på dina säkerhetskopieringsnamn och plats.

Hur man återställer MySQL Dump

För att återställa en MySQL-säkerhetskopia använder du MySQL verktyg. Skapa först en ny databas där du importerar filerna till. Om det finns en befintlig databas börjar du med att ta bort den.

I vårt exempel skapar vi en ny databas som heter Databas namn importera sedan säkerhetskopian database_name.sql Gillar det. För att uppnå detta kör du kommandona nedan:

$ Mysql -u root -p -e "skapa databasdatabasnamn";
$ Mysql -u rot -p databasnamn < database_name.sql

Återställa en enda databas för MySQL

Om du har säkerhetskopierat dina MySQL-databaser -alla databasalternativ och du vill återställa en enda MySQL-databasfil från dumpfilen, måste du använda alternativet–en databas som visas i kommandot nedan:

$ Mysql – databasnamn för en databas < all_databases.sql

Exportera och importera en databas, en enda kommando

Kör kommandot nedan för att importera och exportera en dumpfil till en MySQL-databas:

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

Detta kommando kanaliserar informationen till MySQL-klienten som är värd på en fjärrmaskin och importerar den till en annan databas som heter remote_database_name. Men innan du kör detta kommando, se till att databasen finns på fjärrservern.

Slutsats

Det är allt. Vi har täckt grunderna för att komma igång. Vi hoppas att den här guiden har hjälpt dig att förstå hur du säkerhetskopierar och återställer MySQL-databaser med hjälp av mysqldump-verktyget.

Kolla in de tre bästa Bästa webbhotelltjänsterna

FastComet

Startpris:
$ 2.95


Pålitlighet
9,7


Prissättning
9,5


Användarvänlig
9,7


Stöd
9,7


Funktioner
9,6

Läs recensioner

Besök FastComet

A2 Hosting

Startpris:
$ 3,92


Pålitlighet
9,3


Prissättning
9,0


Användarvänlig
9,3


Stöd
9,3


Funktioner
9,3

Läs recensioner

Besök A2 Hosting

ChemiCloud

Startpris:
$ 2.76


Pålitlighet
10


Prissättning
9,9


Användarvänlig
9,9


Stöd
10


Funktioner
9,9

Läs recensioner

Besök ChemiCloud

Relaterade artiklar om hur man gör

  • Hur du optimerar frågor i dina MySQL- och MariaDB-databaser
    mellanliggande
  • Hur du är värd för Drupal 8-webbplatser med NGINX-servrar på VPS-planer
    mellanliggande
  • Hur man installerar phpIPAM på CentOS 7
    mellanliggande
  • Hur återställer jag ett MySQL-lösenord på Ubuntu 18.04?
    nybörjare
  • Hur du installerar Zabbix på CentOS 7
    mellanliggande
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me