如題
采用了shardingSphere后,分庫策略,分表策略都可以靈活使用了。
反過來會遇到一個新的問題,比如有個表不需要分庫,也不需要分表,那么該怎么處理呢?
這里就要ShardingStrategy中的none配置了。
下面把配置貼出來:見配置中紅色字體。
關鍵點:
default-data-source-name設置為主庫數據源
actual-nodes:設置主庫數據源和物理表名
database-strategy:設置none
table-strategy:設置none
sharding: jdbc: datasource: names: master0,master0salve0,master0slave1,master1,master1slave0,master1slave1 master0: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/mcspcsharding0?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8 username: root password: root master0salve0: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/mcspcsharding0s0?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8 username: root password: root master0slave1: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/mcspcsharding0s1?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8 username: root password: root master1: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/mcspcsharding1?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8 username: root password: root master1slave0: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/mcspcsharding1s0?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8 username: root password: root master1slave1: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/mcspcsharding1s1?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8 username: root password: root config: sharding: tables: mc_member: actual-nodes: mcspcsharding$->{0..1}.mc_member$->{0..1} database-strategy: standard: sharding-column: gender precise-algorithm-class-name: com.chong.mcspcshardingdbtable.sharding.DbShardingAlgorithm table-strategy: complex: sharding-columns: id algorithm-class-name: com.chong.mcspcshardingdbtable.sharding.MemberTblComplexKeySharding mc_master: # 主數據放置表,無需分庫分表 actual-nodes: mcspcsharding0.mc_master # 指定主庫中唯一的表節點 database-strategy: none: # 分片策略為none sharding-column: none # 分片鍵為none table-strategy: none: # 分片策略為none sharding-column: none # 分片鍵為none binding-tables: mc_member,mc_master default-data-source-name: master0 # 庫分片策略為none時一定要設置默認數據源,否則應用無法啟動 master-slave-rules: ms0: master-data-source-name: master0 slave-data-source-names: master0salve0,master0slave1 ms1: master-data-source-name: master1 slave-data-source-names: master1slave0,master1slave1 props: sql: show: true