我有一个巨大的InnoDB表(>5亿行),为了减小索引大小,我希望通过散列进行分区。我想用最少的停机时间(例如,10分钟是可以接受的)来实现这一点,可能的选择是什么?
我在想一些事情如下:
使用"insert .选择.“将新分区表的所有数据都插入到这个新表中,clients
H 111使服务器为客户端提供H 212G 213/code>)主要问题是在第4步中可以使用什么工具。问题是,在第2步中,原始表可能会有很多更改:新的插入、更新、删除-同步工具应该考虑所有这些.
我相信另一种可能的方法是:
master
switch
设置了一个复制的从服务器
,将此从服务器与主/从角色同步,并重新配置所有客户端以连接到以前的主/从上的新的主从alter表,再次等待主从主从角色,重新配置所有客户端G 227你推荐哪一种?
发布于 2011-07-27 21:51:54
我会选择主/从复制。如果主从可以在同一子网上,我还将向主网络添加一个新IP,将客户端更改为指向新IP。然后当你要切换到奴隶的时候,只要:
在master
上停止额外的IP。
客户端将直接连接到新的主服务器,而不需要任何客户端重新配置。然后,当你切换回原来的主人时,你会做同样的事情(如果你切换回来)。
我建议一个从机总是与它的主站同等的硬件,这样当它接管主程序时,你不会发现它太慢了,以至于它无法跟上,而且你的整个系统都失败了。如果您这样做,那么您只需要切换一次(从当前母版切换到新的主版)。
https://stackoverflow.com/questions/6825609
复制相似问题