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

Nejjednodušší způsob, jak zkopírovat databázi MySQL?

Zde je několik možností:

mysqldump

Nejjednodušší a zaručeně funkční způsob, jak toho dosáhnout, je použít mysqldump . Podívejte se na manuálové stránky pro nástroj zde:

http://dev.mysql.com/doc/refman/5.1 /cs/mysqldump.html

V podstatě vypíše SQL skripty potřebné k opětovnému sestavení obsahu databáze, včetně vytváření tabulek, triggerů a dalších objektů a vkládání dat (vše je konfigurovatelné, takže pokud již máte schéma nastavené někde jinde, můžete stačí vypsat data, například).

Kopírování jednotlivých souborů tabulky MyISAM

Pokud máte velké množství dat a používáte úložiště MyISAM pro tabulky, které chcete zkopírovat, stačí vypnout mysqld a zkopírovat soubory .frm, .myd a .myi z jedné databázové složky do jiné (i na jiném systému). Toto nebude fungovat pro tabulky InnoDB a může nebo nemusí fungovat pro jiné úložné stroje (se kterými jsem méně obeznámen).

mysqlhotcopy

Pokud potřebujete vypsat obsah databáze za běhu databázového serveru , můžete použít mysqlhotcopy (všimněte si, že to funguje pouze pro tabulky MyISAM a Archive):

http://dev.mysql.com/doc/refman/5.0 /cs/mysqlhotcopy.html

Kopírování celé datové složky

Pokud kopírujete celou instalaci databáze takže všechny databáze a obsah každé databáze můžete jednoduše vypnout mysqld, zazipovat celý datový adresář MySQL a zkopírovat jej do datového adresáře nového serveru.

Toto je jediný způsob (o kterém vím), jak zkopírovat soubory InnoDB z jedné instance do druhé. To bude fungovat dobře, pokud se přesouváte mezi servery se stejnou rodinou OS a stejnou verzí MySQL; může práce pro přechod mezi operačními systémy a/nebo verzemi MySQL; z hlavy, nevím.



  1. jak seřadit pořadí LEFT JOIN v dotazu SQL?

  2. Jak zobrazit aktuální nastavení příkazu Dot v SQLite

  3. SQL dotaz pro převod seznamu čísel shodných s několika rozsahy na seznam hodnot

  4. Vložte obrázek do databáze pomocí php