Skip to main content

Co je to mysqldump a jak ji používat?

What Is Adminer And How To Use It (Červen 2026)

What Is Adminer And How To Use It (Červen 2026)
Anonim

Jako jedna z předních volně dostupných databází je MySQL oblíbenou volbou pro všechny druhy webových aplikací. Byla vystavena internetu, vaše aplikace je samozřejmě vystavena škodlivým útokům. Pokud je váš server ohrožen, nejlépe budete muset aplikaci znovu nainstalovat; v nejhorším případě můžete zcela ztratit data. Také se nakonec ocitnete v situaci, kdy musíte migrovat databázi z jednoho serveru na jiný.

Co je mysqldump používán?

The mysqldump nástroj jste pokryli pro obě tyto situace. Základním úkolem je přijmout databázi MySQL a "vypustit" ji jako textový soubor. Ale ne jediný textový soubor … soubor je a sada příkazů SQL. Tato prohlášení při spuštění budou znovu sestavit databázi na přesný stav, ve kterém byl v okamžiku spuštění výpisu.

Takže můžete použít mysqldump exportovat databázi. Mohou to být za účelem zálohování nebo protože přesouváte databázi do nového hostitele. V každém případě budete v určitém okamžiku import textový soubor zpět do databázového serveru MySQL. Bude vykonávat všechny příkazy SQL v souboru, který obnoví DB do původního stavu. Tato část skutečně nepoužívá mysqldump ale nebylo by to možné bez tohoto nástroje!

Dokumenty MySQL uvádějí další způsoby zálohování, ale všechny mají své vlastní nevýhody:

  • Hotcopying DB z MySQL Enterprise je skvělý způsob, jak dosáhnout těchto záloh … pokud vám nevadí cena Enterprise.
  • Kopírování datových adresářů DB může být komplikované, pokud se pohybujete v operačních systémech, protože jejich cíle budou jiné.
  • Export do odděleného textového souboru vám poskytne obsah, ale budete muset strukturu znovu vytvořit sami. A raději to udělej dobře …
  • Často můžete zálohovat databáze z programů GUI, jako je MySQL Workbench. Jedná se však o ruční proces, tj. Ne o něco, co můžete psát nebo zahrnout do dávkové práce.

Instalace nástroje mysqldump

Pokud máte zájem o tento článek, pravděpodobně máte nainstalovanou MySQL. Pokud tomu tak je, dobrá zpráva - už máte mysqldump! Pokud tomu tak není, můžete jednoduše nainstalovat MySQL standardním způsobem pro váš operační systém.

V případě systému Windows zkontrolujte naše pokyny pro instalaci MySQL v systému Windows 7 (proces instalace je stále stejný). Podobně v systému MacOS naleznete pokyny k instalaci MySQL na macOS 10.7 (znovu, starší, ale přesto použitelné). Uživatelé systémů Linux založených na Ubuntu mohou pomocí následujícího příkazu nainstalovat klient a nástroje MySQL:

sudo apt nainstalovat mysql-client

Extrakce skládky MySQL

Po instalaci můžete použít mysqldump abyste získali úplnou zálohu databáze.

mysqldump -h jméno hostitele DB nebo IP -u jméno uživatele DB -p název databáze> db_backup.sql

Nějaký rozkaz trochu zlomíme:

  • "-h": Tento příznak je databáze hostitel. Může to být úplné jméno hostitele (např. Myhost.domain.com) nebo IP adresa. Pokud ji spouštíte na stejném hostiteli jako server MySQL, můžete ho nechat prázdný.
  • "-u": Jak bylo zmíněno, toto je vaše uživatelské jméno.
  • "-p": Pokud máte správně nainstalovanou MySQL instalaci, budete potřebovat a Heslo k připojení. Tento příznak bez argumentu vás po spuštění příkazu vyzve k zadání hesla. Někdy je užitečné poskytnout své heslo přímo jako argument k tomuto příznaku, například v zálohovém skriptu. Ale na výzvu byste neměli, protože pokud by někdo získal přístup k vašemu počítači, mohl by si toto heslo získat ve vaší historii příkazů.
  • "> db_backup.sql": Tato poslední část říká mysqldump řídit veškerý jeho výstup do souboru. Obvykle by příkaz spustil vše přímo do konzoly, což znamená, že byste viděli spoustu příkazů SQL. Místo toho je symbol *> * znaménkem toho, aby místo toho vložil všechny tyto věci do jmenovaného textového souboru. A pokud tento soubor neexistuje, bude automaticky vytvořen.

Po dokončení bude mít soubor .SQL. Jedná se pouze o textový soubor obsahující příkazy SQL. Můžete jej otevřít v libovolném textovém editoru a zkontrolovat obsah. Při pohledu na export z databáze WordPress můžete vidět, jak jsou tyto soubory sestaveny dohromady.

Soubor je rozdělen do sekcí. Ve výše uvedeném obrázku vidíme, že první část nastavuje tabulku pro komentáře aplikace WordPress. Druhá část pak znovu vytvoří obsah (tj. Záznamy poznámek), který byl v těchto tabulkách. Když se chystáte znovu importovat výpis služby MySQL, příkaz bude fungovat přes soubor, provádět příkazy a znovu sestavit databázi tak, jak to bylo. Tak jak to děláte? Podívejme se na to.

Import souboru výpisu MySQL

Než budete schopni to udělat, budete potřebovat databázi, která již byla vytvořena, a mít platné uživatelské jméno a heslo. Měli byste také mít všechna oprávnění pro databázi. (Přísně to nepotřebujete GRANT oprávnění, ale je jednodušší jim jednoduše udělit.) Podrobnosti o databázových oprávněních naleznete v tomto článku.

Chcete-li data importovat znovu, postupujte takto:

  1. Přihlaste se do serveru MySQL pomocí příkazu mysql příkaz.
  2. Typ používat název databáze na výzvu, nahrazením příslušného názvu DB.
  3. Zadejte zdroj název souboru, nahrazující název souboru výpisu, který jste dříve použili.

Až skončíte, uvidíte dlouhý seznam zpráv, které zaznamenávají, že příkazy SQL se provádějí. Dávejte pozor na chyby, ale pokud máte správná oprávnění, měli byste být v pohodě, protože je to prázdná databáze.

Jakmile je proces dokončen, budete mít duplikát původní databáze. Můžete to ověřit provedením dalšího výpisu a porovnáním obou výstupů. Pohodlný textový editor to dokáže pro vás, nebo speciální nástroj * diff *, jako je ten, který je uveden na následujícím obrázku:

Mezi těmito soubory existují pouze dva rozdíly, jak jsou znázorněny červenými čarami v horní a dolní části pravého posuvníku. První je řádek obsahující název databáze a očekáváme, že to bude jiné, protože jsme je pojmenovali jinak. Druhá, celá cesta na konci, je časové razítko souboru výpisu. A také očekáváme, že to bude jiné, protože jsme znovu vytvořili druhou databázi po první. V opačném případě jsou soubory přesně stejné, což znamená, že databáze, které je generují, jsou stejně dobře!