sql >> Database teknologi >  >> RDS >> Mysql

Importere fra og eksportere til filer ved hjælp af MySQL-kommandolinjen

For at eksportere eller importere med MySQL skal du begynde med at logge på din server, helst med sudo (rod)adgang.

Eksportere fra MySQL

Det bedste værktøj til at eksportere en MySQL-database til en tekstfil er mysqldump .

For at bruge mysqldump , skal du kende loginoplysningerne for en passende MySQL-bruger der har de nødvendige rettigheder til at eksportere den pågældende database.

Indtast mysqldump med disse oplysninger i hånden kommando med de relevante flag og muligheder:

$ mysqldump -u my_username -p database_name > output_file_path

Valgmulighederne i brug er:

  • -u flag angiver, at MySQL brugernavn følger.
  • -p flag angiver, at vi skal blive bedt om adgangskoden knyttet til ovenstående brugernavn .
  • databasenavn er selvfølgelig det nøjagtige navn på databasen, der skal eksporteres.
  • > symbol er et Unix-direktiv for STDOUT , som tillader Unix-kommandoer at udlæse tekstresultaterne af den udstedte kommando til en anden placering. I dette tilfælde er denne outputplacering en filsti, specificeret af output_filsti .

Bemærk:Det er generelt tilrådeligt at indtaste den fuldt kvalificerede sti og filnavn for output_file_path , så den resulterende fil genereres præcis, hvor du vil have den.

For eksempel at eksportere bøgerne database som book_admin bruger til ~/backup/database mappe, kan vi bruge følgende kommando:

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

Efter at have indtastet vores adgangskode, når du bliver bedt om det ovenfor, opretter denne kommando vores backup-fil med en .sql suffiks (som er helt valgfrit, men tilrådeligt) i den relevante mappe.

Som standard er mysqldump vil ikke gemme kommandoer, som forsøger at ændre eksistensen af ​​den faktiske database. I stedet er der som standard kun faktiske tabeller (og deres respektive data) gemmes og vil således blive forberedt til senere import ved hjælp af denne fil. Hvis du har brug for muligheden for at eksportere (og senere genskabe) endnu en database mere, så læs op på --databaserne flag i den officielle dokumentation.

Import til MySQL

Nu hvor du har lært, hvordan du eksporterer en sikkerhedskopi af en MySQL-database, vil vi undersøge, hvordan du kan vende processen og importere sikkerhedskopien til en eksisterende database.

Som du måske forestiller dig, for at komplimentere mysqldump kommando, der bruges til eksport, er der en lignende mysqlimport kommando til import.

I de fleste tilfælde er import blot et spørgsmål om at passere stort set identisk muligheder til mysqlimport kommando. For at importere vores gemte books.sql fil oprettet tidligere, ville vi bruge mange af de samme flag og meget den samme syntaks.

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

Som før er -u og -p flag er påkrævet til godkendelse, som derefter efterfølges af navnet på databasen at importere til (i dette tilfælde bruger vi en anden produktionsdatabase), og til sidst angive den fuldt kvalificerede sti til SQL-dumpfilen, der indeholder vores importdata, ~/backup/database/books.sql . Det er også værd at bemærke, at mysqlimport kræver ikke < eller > (STDIN/STDOUT) symboler, der blev brugt med mysqldump .

Med det har du lært, hvordan du både eksporterer/sikkerhedskopierer en eksisterende database, og hvordan du derefter importerer/gendanner disse data til den samme eller endda en anden database.


  1. Tabelprøve og andre metoder til at få tilfældige tuples

  2. Sådan øges den tilladte vedhæftede filstørrelse, når du sender e-mail i SQL Server (T-SQL)

  3. SQL Server REPLACE() vs TRANSLATE():Hvad er forskellene?

  4. Sådan får du sidste 1 times data i MySQL