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
- Logg inn på ditt phpMyAdmin-grensesnitt.
- Velg den databasen du ønsker å eksportere fra venstremenyen.
- Klikk på "Eksporter"-fanen øverst på siden.
- Velg "Rask" eksportmetode for en enkel sikkerhetskopi, eller bytt til "Tilpasset" hvis du trenger flere alternativer.
- Velg formatet som SQL og sørg for at alle tabellene inkluderes i dumpen.
- Klikk på "Gå"-knappen nederst på siden for å starte nedlastingen av din database-dumpfil.
Ved hjelp av kommandolinje (mysqldump)
- Åpne et terminalvindu eller kommandoprompt.
- Kjør følgende kommando, og erstatt
username,passwordogdatabase_namemed ditt MySQL-brukernavn, passord og databasenavn:mysqldump -u username -p database_name > backup.sql - Du blir bedt om å skrive inn passordet for MySQL-brukeren.
- Kommandoen vil opprette en fil med navnet
backup.sqli den nåværende katalogen som inneholder SQL-dumpen av den spesifiserte databasen.
Importere en MySQL-database
Ved hjelp av phpMyAdmin
- Logg inn på ditt phpMyAdmin-grensesnitt.
- 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.
- Klikk på "Importer"-fanen øverst på siden.
- Velg din SQL-dumpfil fra lokal maskin ved hjelp av "Bla gjennom"-knappen.
- Klikk på "Gå"-knappen for å starte importprosessen.
Ved hjelp av kommandolinje (mysql)
- Åpne et terminalvindu eller kommandoprompt.
- Opprett en tom database hvis den ikke allerede eksisterer:
mysql -u username -p -e "CREATE DATABASE IF NOT EXISTS target_database_name;" - Importer SQL-dumpfilen til din MySQL-database ved hjelp av følgende kommando, og erstatt
username,passwordogtarget_database_namemed ditt MySQL-brukernavn, passord og måldatabasenavn:mysql -u username -p target_database_name < backup.sql - Du blir bedt om å skrive inn passordet for MySQL-brukeren.
- Kommandoen vil importere innholdet av
backup.sqltil 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:
Husk å aktivere dem igjen når importen er ferdig.SET FOREIGN_KEY_CHECKS=0; SET AUTOCOMMIT=0;
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.