sharding-proxy配置文件conf.yaml示例

配这个眼睛都花了,改了好几次。

一些细节,不能出现tab,必须用空格,否则报错。

缩进要检查好,否则报属性不存在。

Cannot create property=shardingRule for JavaBean=io.shardingsphere.shardingproxy.config.yaml.YamlProxyRuleConfiguration

最好下载最新的mysql-connector,https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.19

放到sharding-proxy:/opt/sharding-proxy/lib里。

最后附上conf.yaml

schemaName: shard_order

dataSources:
  shard_conf:
    url: jdbc:mysql://localhost:3306/shard_conf?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: root
    password: password
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65

  sharding_1_m:
    url: jdbc:mysql://localhost:3306/sharding_1_m?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: root
    password: password
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65
  sharding_1_s1:
    url: jdbc:mysql://localhost:3306/sharding_1_s1?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: readonly
    password: READ6e4E3Bt2
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65
  sharding_1_s2:
    url: jdbc:mysql://localhost:3306/sharding_1_s2?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: readonly
    password: READ6e4E3Bt2
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65
    
  sharding_2_m:
    url: jdbc:mysql://localhost:3306/sharding_2_m?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: root
    password: password
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65
  sharding_2_s1:
    url: jdbc:mysql://localhost:3306/sharding_2_s1?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: readonly
    password: READ6e4E3Bt2
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65
  sharding_2_s2:
    url: jdbc:mysql://localhost:3306/sharding_2_s2?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: readonly
    password: READ6e4E3Bt2
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65

  sharding_3:
    url: jdbc:mysql://localhost:3306/sharding_3_m?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: root
    password: password
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65

  sharding_3_m:
    url: jdbc:mysql://localhost:3306/sharding_3_m?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: root
    password: password
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65
  sharding_3_s1:
    url: jdbc:mysql://localhost:3306/sharding_3_s1?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: readonly
    password: READ6e4E3Bt2
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65
  sharding_3_s2:
    url: jdbc:mysql://localhost:3306/sharding_3_s2?useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useOldAliasMetadataBehavior=true&useSSL=false
    username: readonly
    password: READ6e4E3Bt2
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 65

shardingRule:
  tables:
    orders:
      actualDataNodes: sharding_$->{1..3}$->{['_m']}.orders_$->{0..1}
      databaseStrategy:
        inline:
          shardingColumn: adddate
          algorithmExpression: sharding${orders_id % 2}
      tableStrategy:
        inline:
          shardingColumn: orders_id
          algorithmExpression: orders${orders_id % 2}
    orders_detail:
      actualDataNodes: sharding_$->{1..3}$->{['_m']}.orders_detail_$->{0..1}
      databaseStrategy:
        inline:
          shardingColumn: orders_id
          algorithmExpression: sharding${orders_id % 2}
      tableStrategy:
        inline:
          shardingColumn: orders_id
          algorithmExpression: orders_detail_${orders_id % 2}

  bindingTables:
    - orders_,orders_detail
  broadcastTables:
    - shard_config
  defaultDataSourceName: sharding_1_m
  defaultTableStrategy:
    none:

  masterSlaveRules:
    sharding_1_m:
      name: sharding_1_m
      masterDataSourceName: sharding_1_m
      slaveDataSourceNames: 
        - sharding_1_s1
        - sharding_1_s2
      loadBalanceAlgorithmType: ROUND_ROBIN
    sharding_2_m:
      name: sharding_2_m
      masterDataSourceName: sharding_2_m
      slaveDataSourceNames: 
        - sharding_2_s1
        - sharding_2_s2
      loadBalanceAlgorithmType: ROUND_ROBIN
    sharding_3_m:
      name: sharding_3_m
      masterDataSourceName: sharding_3_m
      slaveDataSourceNames: 
        - sharding_3_s1
        - sharding_3_s2
      loadBalanceAlgorithmType: ROUND_ROBIN

 


版权声明:本文为willishz原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。