Så gör man backup av em databas i MySQL

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

Säkerhetskopiera en MySQL Databas med mysqldump

mysqldump är ett kraftfullt verktyg inom MySQL som används för att skapa säkerhetskopior av databaser. Denna artikel ger en detaljerad genomgång av hur man använder mysqldump för att säkerställa dataintegritet.

Förberedelser

Se till att du har följande innan du börjar:

  • Tillgång till MySQL Server: Du måste kunna ansluta till din MySQL-server.
  • Nödvändiga Rättigheter: Ha nödvändiga privilegier för att exportera databasen.

Grundläggande Användning av mysqldump

För att göra en enkel säkerhetskopia av en MySQL-databas, använd följande kommando:

mysqldump -u användarnamn -p databasnamn > säkerhetskopia.sql


Där användarnamn är ditt MySQL-användarnamn, databasnamn är namnet på din databas, och säkerhetskopia.sql är filen där du vill spara säkerhetskopian.

Avancerade mysqldump-alternativ

mysqldump erbjuder en rad avancerade alternativ:

  • --all-databases: Används för att säkerhetskopiera alla databaser på servern.
  • --no-data: Skapar en dump av endast databasstrukturen utan data.
  • --add-drop-table: Lägger till DROP TABLE-instruktioner före varje CREATE TABLE i dumpen.
  • --single-transaction: Användbar för InnoDB-tabeller för att säkerställa en konsekvent dump.

Exempel på att använda dessa alternativ:

mysqldump -u användarnamn -p --all-databases > alla_databaser.sql

Säkerhetsaspekter

När du skapar säkerhetskopior av din databas, överväg följande säkerhetsaspekter:

  • Säker Förvaring: Förvara säkerhetskopian på en säker och pålitlig plats.
  • Regelbundna Säkerhetskopior: Schemalägg regelbundna säkerhetskopior för att säkerställa att du har uppdaterade kopior.

Återställa från en mysqldump

För att återställa en databas från en mysqldump-fil, använd följande kommando:

mysql -u användarnamn -p databasnamn < säkerhetskopia.sql

Se till att databasnamn är namnet på den databas du vill återställa.

Exempel hur man kan använda mysqldump

Exempel på Användning av mysqldump

mysqldump är ett verktyg i MySQL som används för att skapa säkerhetskopior av databaser. Nedan följer några praktiska exempel på hur det kan användas.

Säkerhetskopiera en Hel Databas

För att säkerhetskopiera en hel databas, använd följande kommando:

mysqldump -u [användarnamn] -p [databasnamn] > [filnamn].sql


Exempel:

mysqldump -u root -p minDatabas > minDatabasBackup.sql

Säkerhetskopiera Specifika Tabeller

Du kan säkerhetskopiera specifika tabeller från en databas:


mysqldump -u [användarnamn] -p [databasnamn] [tabellnamn] > [filnamn].sql

Exempel:

mysqldump -u root -p minDatabas tabell1 tabell2 > minTabellerBackup.sql

Säkerhetskopiera Alla Databaser

För att säkerhetskopiera alla databaser på en server:

mysqldump -u [användarnamn] -p --all-databases > [filnamn].sql

Exempel:

mysqldump -u root -p --all-databases > allaDatabaserBackup.sql

Säkerhetskopiera Databasstruktur Utan Data

För att säkerhetskopiera enbart databasstrukturen:

<source lang="bash"> mysqldump -u [användarnamn] -p --no-data [databasnamn] > [filnamn].sql </source>

Exempel:

<source lang="bash"> mysqldump -u root -p --no-data minDatabas > minDatabasStruktur.sql </source>

Säkerhetskopiera med Komprimering

För stora databaser, använd komprimering:

mysqldump -u [användarnamn] -p [databasnamn] | gzip > [filnamn].sql.gz

Exempel:

mysqldump -u root -p minDatabas | gzip > minDatabasBackup.sql.gz

Använda mysqldump med --single-transaction

För InnoDB-tabeller, använd --single-transaction:

mysqldump -u [användarnamn] -p --single-transaction [databasnamn] > [filnamn].sql

Dessa exempel illustrerar olika sätt att använda mysqldump för säkerhetskopiering av MySQL-databaser.

Sammanfattning

mysqldump är ett essentiellt verktyg för alla som hanterar MySQL-databaser. Genom att förstå och använda dess olika alternativ kan du säkerställa att din data är skyddad och lätt återställbar vid behov.