Hvordan å eksportere og importere en MySQL-database (SQL dump)

Denne guiden fører deg gjennom prosessen for å eksportere og importere MySQL-databaser ved hjelp av SQL dump-filer. Uansett om du utfører vanlige sikkerhetskopieringer eller migrerer data mellom servere, er det viktig å forstå hvordan man oppretter og gjenoppretter disse dumpene. Vi vil dekke to metoder: ved hjelp av phpMyAdmin og kommandolinjeverktøy som mysqldump og mysql.

Eksportere en MySQL-database

Ved hjelp av phpMyAdmin

  1. Logg inn på ditt phpMyAdmin-grensesnitt.
  2. Velg den databasen du ønsker å eksportere fra venstremenyen.
  3. Klikk på "Eksporter"-fanen øverst på siden.
  4. Velg "Rask" eksportmetode for en enkel sikkerhetskopi, eller bytt til "Tilpasset" hvis du trenger flere alternativer.
  5. Velg formatet som SQL og sørg for at alle tabellene inkluderes i dumpen.
  6. Klikk på "Gå"-knappen nederst på siden for å starte nedlastingen av din database-dumpfil.

Ved hjelp av kommandolinje (mysqldump)

  1. Åpne et terminalvindu eller kommandoprompt.
  2. Kjør følgende kommando, og erstatt username, password og database_name med ditt MySQL-brukernavn, passord og databasenavn:
    mysqldump -u username -p database_name > backup.sql
  3. Du blir bedt om å skrive inn passordet for MySQL-brukeren.
  4. Kommandoen vil opprette en fil med navnet backup.sql i den nåværende katalogen som inneholder SQL-dumpen av den spesifiserte databasen.

Importere en MySQL-database

Ved hjelp av phpMyAdmin

  1. Logg inn på ditt phpMyAdmin-grensesnitt.
  2. Velg måldatabasen fra venstremenyen der du ønsker å importere data. Hvis den ikke eksisterer, opprett en ny ved å klikke på "Databaser" og skriv inn navnet på den nye databasen.
  3. Klikk på "Importer"-fanen øverst på siden.
  4. Velg din SQL-dumpfil fra lokal maskin ved hjelp av "Bla gjennom"-knappen.
  5. Klikk på "Gå"-knappen for å starte importprosessen.

Ved hjelp av kommandolinje (mysql)

  1. Åpne et terminalvindu eller kommandoprompt.
  2. Opprett en tom database hvis den ikke allerede eksisterer:
    mysql -u username -p -e "CREATE DATABASE IF NOT EXISTS target_database_name;"
  3. Importer SQL-dumpfilen til din MySQL-database ved hjelp av følgende kommando, og erstatt username, password og target_database_name med ditt MySQL-brukernavn, passord og måldatabasenavn:
    mysql -u username -p target_database_name < backup.sql
  4. Du blir bedt om å skrive inn passordet for MySQL-brukeren.
  5. Kommandoen vil importere innholdet av backup.sql til den spesifiserte databasen.

Tips for store databaser

  • Delt filer: For veldig store databaser, overvei å dele dump-filen i mindre deler for å unngå minneproblemer under import. Du kan bruke verktøy som mysqldumpsplitter.pl.
  • Øk tidsavbruddsinnstillingene: Hvis du jobber med et webbasert verktøy som phpMyAdmin og opplever tidsavbrudd, øk PHP-utførelsetiden eller bruk kommandolinjeverktøy som er mindre utsatt for tidsavbrudd.
  • Optimaliser spørroperasjoner: For raskere import, deaktiver fremmednøkkelsjekker og auto-commit før import:
    SET FOREIGN_KEY_CHECKS=0;
    SET AUTOCOMMIT=0;
    Husk å aktivere dem igjen når importen er ferdig.

Fellessøving

  • Feil 1064 (42000): Du har en feil i SQL-syntaksen din. Dette indikerer vanligvis et problem med dump-filen. Sørg for at dumpen ble opprettet riktig og er ikke skadet.
  • Tilgang nektet: Verifiser at du bruker det korrekte MySQL-brukernavnet og passordet, og at brukeren har tilstrekkelige privilegier for å utføre eksport- eller importoperasjoner.