数据分片

    1. 启动MySQL服务
    2. 创建MySQL数据库(参考ShardingProxy数据源配置规则)
    3. 为ShardingProxy创建一个拥有创建权限的角色或者用户
    4. 启动Zookeeper服务 (为了持久化配置)
    1. 添加 和 authentication 配置参数到 server.yaml (请参考相关example案例)
    2. 启动 ShardingProxy (相关介绍)
    1. 连接到ShardingProxy
    2. 创建分布式数据库
    1. 使用新创建的数据库
    1. USE sharding_db;
    1. 配置数据源信息
    1. ADD RESOURCE ds_0 (
    2. PORT=3306,
    3. DB=ds_1,
    4. USER=root,
    5. PASSWORD=root
    6. );
    7. HOST=127.0.0.1,
    8. PORT=3306,
    9. DB=ds_2,
    10. USER=root,
    11. PASSWORD=root
    12. );
    1. 创建分片规则
    1. 创建切分表
    1. CREATE TABLE `t_order` (
    2. `order_id` int NOT NULL,
    3. `status` varchar(45) DEFAULT NULL,
    4. PRIMARY KEY (`order_id`)
    1. 删除切分表
    1. DROP TABLE t_order;
    1. 删除分片规则
    1. 删除数据源
    1. DROP RESOURCE ds_0, ds_1;
    1. 删除分布式数据库
    1. DROP DATABASE sharding_db;
    1. 当前, DROP DB只会移除逻辑的分布式数据库,不会删除用户真实的数据库 (TODO)。
    2. DROP TABLE会将逻辑分片表和数据库中真实的表全部删除。
    3. CREATE DB只会创建逻辑的分布式数据库,所以需要用户提前创建好真实的数据库(TODO)。
    4. 自动分片算法会持续增加,从而覆盖用户各大分片场景 (TODO)。
    5. 重构ShardingAlgorithmPropertiesUtilTODO)。
    6. 保证所有客户端完成RDL执行(TODO)。
    7. 增加 ALTER DB 和 的支持(TODO)。