前奏

因为在分表的时候我们需要知道我们分的是第几个表,所以我们先需要初始化我们的分表号

wKiom1bT7jWTpirZAAGw_L4kQ0c649.png


我们的目标

1、我们的目标是实现能手动指定创建多少张表,并且能手动指定哪些用户到哪些表中。

2、最终能通过一定的算法,自动化这些分表迁移数据的工作。

在这里我们来实现 '1' 手动指定, 以下可能比较枯燥都是代码了, 一般只要看主逻辑有一个思路,代码自己玩转它 ^_^

程序流程图


mysql

代码主逻辑展示

在附件中有完整的代码

wKiom1bT7saBL5ATAAB_-7eF7hY348.png


上面我们指定新分9个表,并且迁移 'username1-店主'、'username6-导购'、'username66-普通用户' 的数据到指定分表

完整的python代码:sharding_table.py   MySQL分库分表(4)-脚本

查看迁移后的数据

wKiom1bT7xDjL5sQAACUXBj4D5g863.png


文章出自:http://www.ttlsa.com/mysql/mysql-distributed-database-and-table-shared-table-and-move/