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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章