Här är några alternativ:
mysqldump
Det enklaste, garanterat-fungerande sättet att göra det på är att använda mysqldump
. Se manualsidorna för verktyget här:
http://dev.mysql.com/doc/refman/5.1 /en/mysqldump.html
I grund och botten dumpar den SQL-skripten som krävs för att bygga om innehållet i databasen, inklusive skapande av tabeller, utlösare och andra objekt och infogning av data (allt är konfigurerbart, så om du redan har schemat inställt någon annanstans kan du bara dumpa data, till exempel).
Kopiera individuella MyISAM-tabellfiler
Om du har en stor mängd data och om du använder MyISAM-lagringsmotorn för tabellerna som du vill kopiera, kan du bara stänga av mysqld och kopiera .frm-, .myd- och .myi-filerna från en databasmapp till en annan (även på ett annat system). Detta kommer inte att fungera för InnoDB-tabeller och kanske inte fungerar för andra lagringsmotorer (som jag är mindre bekant med).
mysqlhotcopy
Om du behöver dumpa innehållet i en databas medan databasservern är igång , kan du använda mysqlhotcopy
(observera att detta bara fungerar för MyISAM och Arkiv-tabeller):
http://dev.mysql.com/doc/refman/5.0 /en/mysqlhotcopy.html
Kopierar hela datamappen
Om du kopierar hela databasinstallationen, så, alla databaser och innehållet i varje databas, du kan bara stänga av mysqld, zippa upp hela din MySQL-datakatalog och kopiera den till den nya serverns datakatalog.
Detta är det enda sättet (som jag känner till) att kopiera InnoDB-filer från en instans till en annan. Detta kommer att fungera bra om du flyttar mellan servrar som kör samma OS-familj och samma version av MySQL; det kan arbete för att flytta mellan operativsystem och/eller versioner av MySQL; från toppen av mitt huvud, jag vet inte.