Denna guide leder dig genom processen att exportera och importera MySQL-databaser med hjälp av SQL dump-filer. Oavsett om du utför regelbundna säkerhetskopieringar eller migrerar data mellan servrar är det viktigt att förstå hur man skapar och återställer dessa dumpar. Vi kommer att täcka två metoder: användning av phpMyAdmin och kommandoradsverktyg som mysqldump och mysql.
Exportera en MySQL-databas
Använda phpMyAdmin
- Logga in på ditt phpMyAdmin-gränssnitt.
- Välj den databas du vill exportera från det vänstra menyn.
- Klicka på fliken "Export" överst på sidan.
- Välj exportmetoden "Snabb" för en enkel säkerhetskopia eller växla till "Anpassad" om du behöver fler alternativ.
- Välj formatet SQL och se till att alla tabeller ingår i dumpen.
- Klicka på knappen "Go" längst ned på sidan för att starta nedladdningen av din databasdumpp fil.
Använda Kommandoraden (mysqldump)
- Öppna en terminal eller kommandotolk.
- Kör följande kommando, ersätt
username,passwordochdatabase_namemed ditt MySQL-användarnamn, lösenord och databasnamn respektive:mysqldump -u username -p database_name > backup.sql - Du kommer att uppmanas att ange lösenordet för MySQL-användaren.
- Kommandot skapar en fil med namnet
backup.sqli din nuvarande katalog som innehåller SQL-dumpen av den angivna databasen.
Importera en MySQL-databas
Använda phpMyAdmin
- Logga in på ditt phpMyAdmin-gränssnitt.
- Välj måldatabasen från det vänstra menyn där du vill importera data. Om den inte finns, skapa en ny genom att klicka på "Databases" och ange namnet på den nya databasen.
- Klicka på fliken "Import" överst på sidan.
- Välj din SQL dump-fil från din lokala dator med hjälp av knappen "Browse".
- Klicka på knappen "Go" för att starta importprocessen.
Använda Kommandoraden (mysql)
- Öppna en terminal eller kommandotolk.
- Skapa en tom databas om den inte redan finns:
mysql -u username -p -e "CREATE DATABASE IF NOT EXISTS target_database_name;" - Importera SQL dump-filen till din MySQL-databas med hjälp av följande kommando, ersätt
username,passwordochtarget_database_namemed ditt MySQL-användarnamn, lösenord och måldatabasnamn respektive:mysql -u username -p target_database_name < backup.sql - Du kommer att uppmanas att ange lösenordet för MySQL-användaren.
- Kommandot importerar innehållet i
backup.sqltill den angivna databasen.
Tips för Stora Databaser
- Dela Filer: För mycket stora databaser, överväg att dela din dump-fil i mindre delar för att undvika minnesproblem under import. Du kan använda verktyg som
mysqldumpsplitter.pl. - Om du arbetar med ett webbaserat verktyg som phpMyAdmin och stöter på tidsgränsfel, öka PHP-exekveringstiden eller använd kommandoradsverktyg som är mindre utsatta för tidsgränser.
- Optimera Frågor: För snabbare importer, inaktivera främmande nyckelkontroller och auto-commit innan import:
Kom ihåg att aktivera dem igen efter att importen är klar.SET FOREIGN_KEY_CHECKS=0; SET AUTOCOMMIT=0;
Felsökning
- Fel 1064 (42000): Du har ett fel i din SQL-syntax. Detta indikerar vanligtvis ett problem med dump-filen. Se till att dumpen skapades korrekt och är okorrumpad.
- Åtkomst nekad: Verifiera att du använder rätt MySQL-användarnamn och lösenord, och att användaren har tillräckliga privilegier för att utföra export- eller importåtgärder.