将 Innodb 数据库从一台服务器移动到另一台服务器的最快方法

将 Innodb 数据库从一台服务器移动到另一台服务器的最快方法

我知道我可以使用 mysqldump 或 xtrabackup 将 InnoDB 从一个数据库移动到另一个数据库。

考虑到我可以接受服务器停机时间,有没有更好的方法来移动 InnoDB 数据库?

我尝试复制所有“ib_*”文件,但似乎不起作用。我是否遗漏了什么?

答案1

如果有人想知道,关闭 mysqld 之后复制整个 mysql 数据根目录(在我的情况下)/var/lib/mysql 可以完美地将数据迁移到另一个系统。

否则,如果您需要复制,集群解决方案比 DRBD 更合适且更快

答案2

您可以尝试使用 DRBD。它是一种块级复制技术,可以同步(如果是远距离复制,则异步)在两个或多个节点之间创建 raid-1 关系。

DRBD 不仅可用于新分配的存储,还可复制现有卷 - 只要您可以扩展该卷以在最后为少量元数据腾出空间,或者附加另一个卷以用作专用元数据存储。如果您只打算临时使用专用元数据,则更容易删除。

该过程通常涉及在存储表的每个节点上建立一个 DRBD 设备,关闭一侧的数据库,然后立即在另一侧启动它 - 使用相同的数据。

相关内容