sharding-proxy-conf/config_master-slave-encrypt-sharding.yaml (125 lines of code) (raw):

# # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ###################################################################################################### # # Here you can configure the rules for the proxy. # This example is configuration of master-slave-encrypt-sharding rule. # ###################################################################################################### schemaName: sharding_db dataSources: master_ds_0: url: jdbc:mysql://***.***.***.***:****/ds?serverTimezone=UTC&useSSL=false username: test password: connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 200 slave_ds_0: url: jdbc:mysql://***.***.***.***:****/ds?serverTimezone=UTC&useSSL=false username: test password: connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 200 master_ds_1: url: jdbc:mysql://***.***.***.***:****/ds?serverTimezone=UTC&useSSL=false username: test password: connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 200 slave_ds_1: url: jdbc:mysql://***.***.***.***:****/ds?serverTimezone=UTC&useSSL=false username: test password: connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 200 master_ds_2: url: jdbc:mysql://***.***.***.***:****/ds?serverTimezone=UTC&useSSL=false username: test password: connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 200 slave_ds_2: url: jdbc:mysql://***.***.***.***:****/ds?serverTimezone=UTC&useSSL=false username: test password: connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 200 master_ds_3: url: jdbc:mysql://***.***.***.***:****/ds?serverTimezone=UTC&useSSL=false username: test password: connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 200 slave_ds_3: url: jdbc:mysql://***.***.***.***:****/ds?serverTimezone=UTC&useSSL=false username: test password: connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 200 shardingRule: tables: tbl: actualDataNodes: ms_ds_${0..3}.tbl${0..1023} databaseStrategy: inline: shardingColumn: id algorithmExpression: ms_ds_${id % 4} tableStrategy: inline: shardingColumn: k algorithmExpression: tbl${k % 1024} keyGenerator: type: SNOWFLAKE column: id bindingTables: - tbl defaultDataSourceName: master_ds_1 defaultTableStrategy: none: masterSlaveRules: ms_ds_0: masterDataSourceName: master_ds_0 slaveDataSourceNames: - slave_ds_0 loadBalanceAlgorithmType: ROUND_ROBIN ms_ds_1: masterDataSourceName: master_ds_1 slaveDataSourceNames: - slave_ds_1 loadBalanceAlgorithmType: ROUND_ROBIN ms_ds_2: masterDataSourceName: master_ds_2 slaveDataSourceNames: - slave_ds_2 loadBalanceAlgorithmType: ROUND_ROBIN ms_ds_3: masterDataSourceName: master_ds_3 slaveDataSourceNames: - slave_ds_3 loadBalanceAlgorithmType: ROUND_ROBIN encryptRule: encryptors: encryptor_aes: type: aes props: aes.key.value: 123456abc encryptor_md5: type: md5 tables: sbtest: columns: c: plainColumn: c_plain cipherColumn: c_cipher encryptor: encryptor_aes pad: cipherColumn: pad_cipher encryptor: encryptor_md5