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:
-upříznak označuje, že MySQLusernamebude následovat.-ppříznak označuje, že bychom měli být vyzváni k zadánípasswordspojené s výše uvedenýmusername.database_nameje samozřejmě přesný název databáze k exportu.>symbol je unixová direktiva proSTDOUT, 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.