sql >> Databáze >  >> RDS >> Mysql

Import ze souborů a export do souborů pomocí příkazového řádku MySQL

Chcete-li exportovat nebo importovat pomocí MySQL, začněte přihlášením na svůj server, nejlépe pomocí sudo (kořenový) přístup.

Export z MySQL

Nejlepším nástrojem pro export databáze MySQL do textového souboru je mysqldump .

Chcete-li použít mysqldump , budete potřebovat znát přihlašovací údaje příslušného MySQL user který má potřebná oprávnění k exportu příslušné databáze.

S těmito informacemi v ruce zadejte mysqldump příkaz s příslušnými příznaky a možnostmi:

$ mysqldump -u my_username -p database_name > output_file_path

Používané možnosti jsou:

  • -u příznak označuje, že MySQL username bude následovat.
  • -p příznak označuje, že bychom měli být vyzváni k zadání password spojené s výše uvedeným username .
  • database_name je samozřejmě přesný název databáze k exportu.
  • > symbol je unixová direktiva pro STDOUT , který umožňuje unixovým příkazům vypisovat textové výsledky vydaného příkazu na jiné místo. V tomto případě je výstupním umístěním cesta k souboru zadaná pomocí output_file_path .

Poznámka:Obecně se doporučuje zadat úplnou cestu a název souboru pro output_file_path , takže výsledný soubor se vygeneruje přesně tam, kde ho chcete mít.

Chcete-li například exportovat books databázi jako book_admin uživatele do ~/backup/database adresář, můžeme použít následující příkaz:

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

Po zadání našeho hesla na výzvu výše tento příkaz vytvoří náš záložní soubor s .sql příponu (což je zcela nepovinné, ale vhodné) v příslušném adresáři.

Ve výchozím nastavení mysqldump nebude save příkazy, které se pokoušejí upravit existenci aktuální databáze. Místo toho ve výchozím nastavení pouze skutečné tables (a jejich příslušná data) jsou uloženy, a proto budou připraveny pro pozdější import pomocí tohoto souboru. Pokud potřebujete možnost exportovat (a později znovu vytvořit) ještě jednu další databázi, přečtěte si --databases příznak v oficiální dokumentaci.

Import do MySQL

Nyní, když jste se naučili exportovat zálohu databáze MySQL, prozkoumáme, jak tento proces zvrátit a importovat zálohování do existující databáze.

Jak si dokážete představit, jako kompliment mysqldump příkaz používaný pro export, existuje podobný mysqlimport příkaz pro import.

Ve většině případů je import pouze otázkou předání prakticky identického možnosti pro mysqlimport příkaz. Chcete-li importovat naše uložené books.sql dříve vytvořeného souboru, použili bychom mnoho stejných příznaků a téměř stejnou syntaxi.

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

Stejně jako dříve, -u a -p příznaky jsou vyžadovány pro autentizaci, za nimiž následuje název database importovat do (v tomto případě používáme jinou produkční databázi), a nakonec zadat plně kvalifikovanou cestu k souboru výpisu SQL, který obsahuje naše importovaná data, ~/backup/database/books.sql . Za zmínku také stojí mysqlimport nevyžaduje < nebo > (STDIN/STDOUT) symboly, které byly použity s mysqldump .

Díky tomu jste se naučili, jak exportovat/zálohovat existující databázi a jak potom importovat/obnovovat tato data do stejné nebo dokonce jiné databáze.


  1. Jak mít dynamické SQL v MySQL uložené procedury

  2. Spojení výsledků ze dvou samostatných databází

  3. Jak mohu spočítat počet řádků, které vrátil dotaz MySQL?

  4. Vložte všechny hodnoty tabulky do jiné tabulky v SQL