Ето няколко опции:
mysqldump
Най-лесният, гарантиран за работа начин да го направите е да използвате mysqldump
. Вижте страниците с ръководство за помощната програма тук:
http://dev.mysql.com/doc/refman/5.1 /bg/mysqldump.html
По принцип той изхвърля SQL скриптовете, необходими за възстановяване на съдържанието на базата данни, включително създаване на таблици, тригери и други обекти и вмъкване на данните (всичко е конфигурируемо, така че ако вече имате настроена схема някъде другаде, можете просто изхвърлете данните, например).
Копиране на отделни файлове с таблица MyISAM
Ако имате голямо количество данни и използвате механизма за съхранение на MyISAM за таблиците, които искате да копирате, можете просто да изключите mysqld и да копирате файловете .frm, .myd и .myi от една папка на база данни в друга (дори и в друга система). Това няма да работи за таблици InnoDB и може или не може да работи за други машини за съхранение (с които съм по-малко запознат).
mysqlhotcopy
Ако трябва да изхвърлите съдържанието на база данни докато сървърът на базата данни работи , можете да използвате mysqlhotcopy
(обърнете внимание, че това работи само за MyISAM и архивни таблици):
http://dev.mysql.com/doc/refman/5.0 /bg/mysqlhotcopy.html
Копира се цялата папка с данни
Ако копирате цялата инсталация на базата данни, така че, всички бази данни и съдържанието на всяка база данни, можете просто да изключите mysqld, да архивирате цялата си директория с данни на MySQL и да я копирате в директорията с данни на новия сървър.
Това е единственият начин (за който знам) да копирате InnoDB файлове от един екземпляр в друг. Това ще работи добре, ако се движите между сървъри, работещи със същото семейство ОС и същата версия на MySQL; може работа за придвижване между операционни системи и/или версии на MySQL; от главата ми, не знам.