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.