2010-05-18 48 views
2

我有一个庞大的MySQL数据库(大约10 GB),我需要将其复制到不同的服务器(slicehost)。我不想做一个数据库转储和重新进口B/C我认为这将需要永远。是否可以将原始SQL文件从一台机器移动到另一台机器,设置一台相同的MySQL服务器,然后翻转交换机?跨服务器移动mysql文件

回答

0

它应该工作。

这是mysqlhotcopy工具使用的原理,尽管此工具旨在在服务器运行时运行。

+0

嗯,你可能可以将文件复制到另一台机器上的ssh安装驱动器上,它仍然是一个'本地'副本。你怎么看? – tesserakt 2010-05-18 20:46:17

+0

即使没有,mysqlhotcopy也可以使用scp。我在Debian Administration上看到一篇关于如何使用它备份到远程服务器的文章:http://www.debian-administration.org/articles/311 – Powerlord 2010-05-18 20:52:42

1

一般来说,是的。最好有相同的底层架构和服务器版本,但这些并不是非常必要。确保您停止源服务器,以便原始文件是一致的副本。

我会在覆盖我的开发数据库时一直这样做。当服务器停止运行时,我们对备份进行了备份,这些备份是通过调整/var/mysql来实现的。我将它们移动到另一台机器上,覆盖iblogibdata,然后覆盖data中的所有目录,mysqltest除外。

+0

所以,让我解决这个问题:您停止服务器并复制一致性的缘故?我认为这将比mysqlhotcopy具有一致性优势,对吧?多久时间? 我正在考虑是否停止服务器是否值得。 – tesserakt 2010-05-19 12:25:25

+0

与mysqlhotcopy相比,它不一定具有一致性优势,但速度很快。如果要复制到远程服务器,则可以在数据库运行时复制文件,停止数据库,然后rsync以最大限度地减少服务器停机时间。在本地复制文件非常快,特别是从一个物理磁盘复制到另一个时。 – 2010-05-19 15:06:49

0

您没有“庞大”的数据库,您拥有一个10G的小型数据库。所以转储/恢复应该不成问题。

直接复制文件可能适用于部分情况,但转储/恢复要好得多(即减少了问题发生的几率)。

很明显,在非生产系统上使用相同版本的mysql和数据大小先试试它,以确保它能够在生产环境中工作。