如何迁移分库分表中的数据(如何克隆路由器中的数据)

2025-11-10 13:55:00

一、如何迁移分库分表中的数据


前面发过一篇分库分表的文章,展示了批量变更分库分表的方法(详见《如何通过一条 SQL 变更多个分库分表》),这次我们再来聊另一个分库分表相关的话题:如何迁移多个分库分表的数据到其他分库分表,或者将多个分库分表聚合到一个表中。

对于实行分库分表的企业来说,这应该算是刚需,为什么是刚需?我来举几个实际场景的例子。

  • 业务持续增长,初期分库分表方案难以满足需求

虽然已经做了分库分表了,但也架不住持续增加的数据量啊,导致的问题就是现有分库分表策略已经满足不了存储和性能需求了,那就只能进一步扩展分库分表的数量。怎么扩展呢?重新规划新的分库分表策略,然后把原来的数据迁移到新的分库分表中。

  • 分片策略调整(Re-Sharding)

最初的分库分表策略是按照买家 ID 进行分片的,但随着业务的深入,发现用卖家 ID 进行分片更加合适,这种情况下,需要先重新调整分片逻辑,再将原来的数据迁移到新的分库分表中。

上述场景都是比较常见的分库分表迁移需求,虽说是刚需,支持这种场景的好用的工具却不多,主要原因在于分库分表的复杂性涉及数据分片、业务逻辑、数据一致性等多方面问题。

在这里提供一个简单且实用的方法,用 NineData 的库表分组功能结合其强大的数据复制功能,轻松解决上述问题。

我们先来看一下 NineData 解决该问题的流程。

直接开整

1. 创建库表分组:根据业务的分库分表逻辑创建库表分组。

源库的分库分表配置。

目标库的分库分表配置。

2. 创建数据复制任务:创建数据复制任务,源和目标分别选择上面创建的库表分组即可 。

3. 查看迁移结果:任务跑完后,可以查看源和目标的对比结果,至此源分库分表中的数据已经按照目标的路由算法依次迁移到目标分库分表中,任务顺利完成。

最后

本文给的示例中,数据通过哈希分片策略路由算法,被精确分配到目标分片。原先 2x2 的分片系统迁移到 3x3 的过程中,系统通过目标分库分表的路由算法重新计算哈希值,确保每条数据进入对应的新分片,最终顺利完成了这项艰巨的任务。


二、路由器中的MAC地址克隆


方法一:先确定申请上网的电脑单机状态下已经能够上网。就说明该电脑网卡的MAC地址是合法的MAC地址。使用ipconfig/all命令,就可以查找到该电脑网卡的MAC地址。例如:00-50-8D-D1-71-A7.将外来的引线从单机电脑的网卡上拔下,插入宽带路由器的WAN端口;将多台客户机的网卡与宽带路由器的LAN端口相连。
打开宽带路由器的的电源。在连接宽带路由器的任何一台客户机上启动IE浏览器在IE浏览器的地址栏中键入这台宽带路由器IP的地址[url]http://192.168.1.1[/url]。进入路由器的Web设置页面。单击配置页面左窗口中“网络参数”按钮,选择其中的“MAC地址克隆”按钮。出现“MAC地址克隆”的窗口。在“当前管理PC的MAC地址”的窗口中填入上面找到的“合法的MAC地址”:00-50-8D-D1-71-A7.
再单击“MAC地址克隆”按钮,这个MAC地址就会填入“MAC地址”的窗口中。最后,重新启动路由器使设置生效。
方法二:有些宽带提供商为了限制接入用户的数量,在认证服务器上对MAC地址进行了绑定。此时,可先将被绑定MAC地址的计算机连接至路由器LAN端口(但路由器不要连接Modem或ISP提供的接线),然后,采用路由器的MAC地址克隆功能,将该网卡的MAC地址复制到宽带路由器的WAN端口。
方法三:利用宽带路由器的“MAC地址克隆”功能,突破宽带提供商的地址绑定,实现多台计算机共享上网。以TP-Link TL-R400+小型路由器为例。从被绑定MAC地址的计算机上进入路由器的Web设置页面后,在主菜单的“基本设置”下选择“初步设置”,在“广域网接口类型”栏中点击“修改”按钮,接着选择“动态IP”保存之后,返回“初步设置”页面,在“广域网MAC地址”栏的选项之后有一个文本框,其中的内容便是本机的MAC地址,用户可以直接在文本框中修改此MAC地址,把被绑定的网卡MAC地址填入此处。如果你不清楚网卡的MAC地址,可以选择“Clone MAC(MAC地址克隆)”按钮直接将当前计算机的网卡MAC地址克隆到TL-R400+的广域网端口。保存后重新启动路由器就可以生效了。
注意:在“广域网接口类型”中一定要选择“动态IP”,否则不会出现修改广域网接口的MAC地址和克隆MAC地址选项。如果你使用的是其他接入方式,如静态IP、PPPoE等,则可以在以上设置完成后,再重新进入设置界面进行广域网类型的修改。