Så här exporterar och importerar du en MySQL-databas (SQL Dump)

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

  1. Logga in på ditt phpMyAdmin-gränssnitt.
  2. Välj den databas du vill exportera från det vänstra menyn.
  3. Klicka på fliken "Export" överst på sidan.
  4. Välj exportmetoden "Snabb" för en enkel säkerhetskopia eller växla till "Anpassad" om du behöver fler alternativ.
  5. Välj formatet SQL och se till att alla tabeller ingår i dumpen.
  6. Klicka på knappen "Go" längst ned på sidan för att starta nedladdningen av din databasdumpp fil.

Använda Kommandoraden (mysqldump)

  1. Öppna en terminal eller kommandotolk.
  2. Kör följande kommando, ersätt username, password och database_name med ditt MySQL-användarnamn, lösenord och databasnamn respektive:
    mysqldump -u username -p database_name > backup.sql
  3. Du kommer att uppmanas att ange lösenordet för MySQL-användaren.
  4. Kommandot skapar en fil med namnet backup.sql i din nuvarande katalog som innehåller SQL-dumpen av den angivna databasen.

Importera en MySQL-databas

Använda phpMyAdmin

  1. Logga in på ditt phpMyAdmin-gränssnitt.
  2. 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.
  3. Klicka på fliken "Import" överst på sidan.
  4. Välj din SQL dump-fil från din lokala dator med hjälp av knappen "Browse".
  5. Klicka på knappen "Go" för att starta importprocessen.

Använda Kommandoraden (mysql)

  1. Öppna en terminal eller kommandotolk.
  2. Skapa en tom databas om den inte redan finns:
    mysql -u username -p -e "CREATE DATABASE IF NOT EXISTS target_database_name;"
  3. Importera SQL dump-filen till din MySQL-databas med hjälp av följande kommando, ersätt username, password och target_database_name med ditt MySQL-användarnamn, lösenord och måldatabasnamn respektive:
    mysql -u username -p target_database_name < backup.sql
  4. Du kommer att uppmanas att ange lösenordet för MySQL-användaren.
  5. Kommandot importerar innehållet i backup.sql till 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:
    SET FOREIGN_KEY_CHECKS=0;
    SET AUTOCOMMIT=0;
    Kom ihåg att aktivera dem igen efter att importen är klar.

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.