以下是几个选项:
mysqldump个
要做到这一点,最简单、最有保障的方法是使用mysqldump
.请参阅此处的实用程序手册页:
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html个
基本上,它转储重建数据库内容所需的SQL脚本,包括创建表、触发器和其他对象以及插入数据(这些都是可配置的,因此如果您已经在其他地方设置了模式,例如,您可以只转储数据).
Copying individual MyISAM table files个
如果您有大量数据and您正在使用MyISAM存储引擎来存储您想要复制的表,您只需关闭mysqld并将.frm、.myd和.myi文件从一个数据库文件夹复制到另一个数据库文件夹(即使在另一个系统上).这不适用于InnoDB表,也可能不适用于其他存储引擎(我不太熟悉).
mysqlhotcopy
如果需要转储数据库while the database server is running的内容,可以使用mysqlhotcopy
(请注意,这只适用于MyISAM和存档表):
http://dev.mysql.com/doc/refman/5.0/en/mysqlhotcopy.html个
Copying the entire data folder个
如果要复制the entire database installation,so、所有数据库和每个数据库的内容,只需关闭mysqld,压缩整个MySQL数据目录,然后将其复制到新服务器的数据目录中.
这是将InnoDB文件从一个实例复制到另一个实例的唯一方法(据我所知).如果在运行同一OS系列和同一版本MySQL的服务器之间移动,这将很好地工作;它可以在操作系统和/或MySQL版本之间移动;我不知道.