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 MySQLusername
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ýmusername
.database_name
je 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.