sql >> Databasteknik >  >> RDS >> Mysql

Importera från och exportera till filer med MySQL-kommandoraden

För att exportera eller importera med MySQL, börja med att logga in på din server, helst med sudo (root) åtkomst.

Exportera från MySQL

Det bästa verktyget för att exportera en MySQL-databas till en textfil är mysqldump .

För att använda mysqldump , måste du känna till inloggningsuppgifterna för en lämplig MySQL-användare som har nödvändiga rättigheter för att exportera databasen i fråga.

Med den informationen i handen anger du mysqldump kommandot med lämpliga flaggor och alternativ:

$ mysqldump -u my_username -p database_name > output_file_path

Alternativen som används är:

  • -u flaggan indikerar att MySQL användarnamn kommer att följa.
  • -p flaggan indikerar att vi bör uppmanas att ange lösenordet kopplat till ovanstående användarnamn .
  • databasnamn är naturligtvis det exakta namnet på databasen som ska exporteras.
  • > symbol är ett Unix-direktiv för STDOUT , som tillåter Unix-kommandon att mata ut textresultaten för det utfärdade kommandot till en annan plats. I det här fallet är den utdataplatsen en filsökväg, specificerad av output_file_path .

Obs! Det är i allmänhet tillrådligt att ange den fullständiga sökvägen och filnamnet för output_file_path , så den resulterande filen genereras precis där du vill ha den.

Till exempel för att exportera böckerna databas som book_admin användare till ~/backup/database katalog kan vi använda följande kommando:

$ mysqldump -u book_admin -p books > ~/backup/database/books.sql
Enter password:

Efter att ha angett vårt lösenord när du uppmanas ovan, skapar detta kommando sedan vår säkerhetskopia med en .sql suffix (vilket är helt valfritt men tillrådligt) i lämplig katalog.

Som standard är mysqldump kommer inte spara kommandon som försöker ändra existensen av den faktiska databasen. Istället, som standard, endast faktiska tabeller (och deras respektive data) sparas och kommer därför att förberedas för senare import med den här filen. Om du behöver möjligheten att exportera (och senare återskapa) ytterligare en databas, läs på --databaser flagga i den officiella dokumentationen.

Importera till MySQL

Nu när du har lärt dig hur du exporterar en säkerhetskopia av en MySQL-databas kommer vi att utforska hur du vänder på processen och importerar säkerhetskopian till en befintlig databas.

Som du kanske föreställer dig, för att komplettera mysqldump kommando som används för export, det finns en liknande mysqlimport kommando för import.

I de flesta fall är import bara en fråga om att passera nästan identisk alternativ till mysqlimport kommando. För att importera våra sparade books.sql fil som skapats tidigare, skulle vi använda många av samma flaggor och ungefär samma syntax.

$ mysqlimport -u book_admin -p books_production ~/backup/database/books.sql
Enter password:

Som tidigare, -u och -p flaggor krävs för autentisering, som sedan följs av namnet på databasen att importera till (i det här fallet använder vi en annan produktionsdatabas), och slutligen ange den fullständiga sökvägen till SQL-dumpfilen som innehåller våra importdata, ~/backup/database/books.sql . Det är också värt att notera att mysqlimport kräver inte < eller > (STDIN/STDOUT) symboler som användes med mysqldump .

Med det har du lärt dig hur du både exporterar/säkerhetskopierar en befintlig databas och hur du sedan importerar/återställer data till samma eller till och med en annan databas.


  1. Hur LOWER() fungerar i MariaDB

  2. 32-bitars Excel och 64-bitars SQL Server

  3. JPA Tabellnamn med versaler

  4. Numeriska funktioner i Oracle (fullständig lista)