Sådan eksporterer og importerer du en MySQL-database (SQL Dump)

Dette vejledning vil førbringe dig gennem processen for at eksportere og importere MySQL-databaser ved hjælp af SQL dump-filer. Uanset om du foretager regelmæssige sikkerhedskopier eller migrerer data mellem servere, er det afgørende at forstå hvordan man opretter og gendanner disse dumps. Vi vil dække to metoder: ved hjælp af phpMyAdmin og kommandolinjetools som mysqldump og mysql.

Eksportere en MySQL-database

Ved brug af phpMyAdmin

  1. Log ind på din phpMyAdmin-grænseflade.
  2. Vælg den database, du ønsker at eksportere fra venstre menuen.
  3. Klik på fanen "Eksporter" øverst på siden.
  4. Vælg eksportmetoden "Hurtig" til en simpel sikkerhedskopi eller skift til "Brugerdefineret", hvis du har brug for flere indstillinger.
  5. Vælg formatet som SQL og sørg for, at alle tabeller inkluderes i dumpen.
  6. Klik på knappen "Gå til" nederst på siden for at starte download af din database-dump-fil.

Ved brug af Kommandolinje (mysqldump)

  1. Åbn en terminal eller kommandoprompt.
  2. Kør følgende kommando, erstatt username, password og database_name med dit MySQL-brugernavn, adgangskode og databasenavn:
    mysqldump -u username -p database_name > backup.sql
  3. Du vil blive bedt om at indtaste adgangskoden for MySQL-brugeren.
  4. Kommandoen vil oprette en fil med navnet backup.sql i din aktuelle mappe, der indeholder SQL-dumpen af den angivne database.

Importere en MySQL-database

Ved brug af phpMyAdmin

  1. Log ind på din phpMyAdmin-grænseflade.
  2. Vælg mål-databasen fra venstre menuen, hvor du vil importere data. Hvis den ikke findes, opret en ny ved at klikke på "Databaser" og indtaste navnet på den nye database.
  3. Klik på fanen "Importer" øverst på siden.
  4. Vælg din SQL dump-fil fra din lokale computer ved hjælp af knappen "Gennemse".
  5. Klik på knappen "Gå til" for at starte importprocessen.

Ved brug af Kommandolinje (mysql)

  1. Åbn en terminal eller kommandoprompt.
  2. Opret en tom database, hvis den ikke allerede findes:
    mysql -u username -p -e "CREATE DATABASE IF NOT EXISTS target_database_name;"
  3. Importer SQL dump-filen til din MySQL-database ved hjælp af følgende kommando, erstatt username, password og target_database_name med dit MySQL-brugernavn, adgangskode og mål-databasenavn:
    mysql -u username -p target_database_name < backup.sql
  4. Du vil blive bedt om at indtaste adgangskoden for MySQL-brugeren.
  5. Kommandoen vil importere indholdet af backup.sql til den angivne database.

Tips til Store Databaser

  • Deltagning af Filer: For meget store databaser overvej at opdele din dump-fil i mindre dele for at undgå hukommelsesproblemer under import. Du kan bruge værktøjer som mysqldumpsplitter.pl.
  • Øg Timeout-indstillinger: Hvis du arbejder med et webbaseret værktøj som phpMyAdmin og støder på timeouts, øg PHP-udførelses tid eller brug kommandolinjetools, der er mindre suceptible for timeouts.
  • Optimér forespørgsler: For hurtigere imports deaktiver fremmednøglekontroller og auto-commit før import:
    SET FOREIGN_KEY_CHECKS=0;
    SET AUTOCOMMIT=0;
    Husk at aktivere dem igen, når importen er fuldført.

Fejlfinding

  • Fejl 1064 (42000): Du har en fejl i din SQL-syntaks. Dette indikerer typisk et problem med dump-filen. Sørg for, at dumpen blev oprettet korrekt og ikke er ødelagt.
  • Adgang nægtet: Kontroller, at du bruger det korrekte MySQL-brugernavn og adgangskode, og at brugeren har tilstrækkelige rettigheder til at udføre eksport- eller importoperationerne.