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
- Log ind på din phpMyAdmin-grænseflade.
- Vælg den database, du ønsker at eksportere fra venstre menuen.
- Klik på fanen "Eksporter" øverst på siden.
- Vælg eksportmetoden "Hurtig" til en simpel sikkerhedskopi eller skift til "Brugerdefineret", hvis du har brug for flere indstillinger.
- Vælg formatet som SQL og sørg for, at alle tabeller inkluderes i dumpen.
- Klik på knappen "Gå til" nederst på siden for at starte download af din database-dump-fil.
Ved brug af Kommandolinje (mysqldump)
- Åbn en terminal eller kommandoprompt.
- Kør følgende kommando, erstatt
username,passwordogdatabase_namemed dit MySQL-brugernavn, adgangskode og databasenavn:mysqldump -u username -p database_name > backup.sql - Du vil blive bedt om at indtaste adgangskoden for MySQL-brugeren.
- Kommandoen vil oprette en fil med navnet
backup.sqli din aktuelle mappe, der indeholder SQL-dumpen af den angivne database.
Importere en MySQL-database
Ved brug af phpMyAdmin
- Log ind på din phpMyAdmin-grænseflade.
- 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.
- Klik på fanen "Importer" øverst på siden.
- Vælg din SQL dump-fil fra din lokale computer ved hjælp af knappen "Gennemse".
- Klik på knappen "Gå til" for at starte importprocessen.
Ved brug af Kommandolinje (mysql)
- Åbn en terminal eller kommandoprompt.
- Opret en tom database, hvis den ikke allerede findes:
mysql -u username -p -e "CREATE DATABASE IF NOT EXISTS target_database_name;" - Importer SQL dump-filen til din MySQL-database ved hjælp af følgende kommando, erstatt
username,passwordogtarget_database_namemed dit MySQL-brugernavn, adgangskode og mål-databasenavn:mysql -u username -p target_database_name < backup.sql - Du vil blive bedt om at indtaste adgangskoden for MySQL-brugeren.
- Kommandoen vil importere indholdet af
backup.sqltil 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:
Husk at aktivere dem igen, når importen er fuldført.SET FOREIGN_KEY_CHECKS=0; SET AUTOCOMMIT=0;
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.