复制MySQL数据库最简单的方法是什么?

21

有没有简单的方法可以将一个电脑上的数据库复制到一个文件中,然后在另一台电脑上导入它呢?

2个回答

39

以下是几种选项:

mysqldump

最简单、保证可行的方法是使用mysqldump。请参考此处的实用程序手册:

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

基本上,它会将重建数据库内容所需的SQL脚本进行转储,包括创建表、触发器和其他对象以及插入数据(这都可以进行配置,因此如果您已经在其他地方设置了模式,则可以只转储数据,例如)。

复制单个MyISAM表文件

如果您有大量数据并且您正在使用要复制的表的MyISAM存储引擎,则可以关闭mysqld并从一个数据库文件夹复制.frm、.myd和.myi文件到另一个文件夹(甚至位于另一个系统上)。这对InnoDB表无效,对于其他存储引擎(我不够熟悉)可能有效或无效。

mysqlhotcopy

如果您需要在数据库服务器运行时转储数据库内容,则可以使用mysqlhotcopy(请注意,这仅适用于MyISAM和Archive表):

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

复制整个数据文件夹

如果您正在复制整个数据库安装,因此,所有数据库和每个数据库的内容,您可以关闭mysqld,压缩整个MySQL数据目录,并将其复制到新服务器的数据目录中。

这是我所知道的唯一一种从一个实例复制InnoDB文件到另一个实例的方法。如果你在两个运行相同操作系统家族和相同版本MySQL的服务器之间移动,那么这将很好地工作;如果在不同操作系统或MySQL版本之间移动,则可能会工作;但我没有具体了解。


0
你可以使用 SQL yog - 一个来自 web yog 的产品。它使用了上面提到的类似技术,但是提供了良好的图形用户界面,让你明确自己在做什么。你可以从该网站获取社区项目或试用版本。

http://www.webyog.com/en/downloads.php#sqlyog

这个选项可以创建备份文件并将文件恢复到新服务器。更好的选择是从一个服务器导出数据库到另一个服务器。

祝好,

RDJ


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接