資料內(nèi)容:
一、ShardingProxy快速使用
ShardingProxy的功能同樣是分庫(kù)分表,但是他是一個(gè)獨(dú)立部署的服務(wù)端,提供
統(tǒng)一的數(shù)據(jù)庫(kù)代理服務(wù)。注意,ShardingProxy目前只支持MySQL和
PostgreSQL。并且,客戶端連接ShardingProxy時(shí),最好使用MySQL的JDBC客戶
端。下面我們來(lái)部署一個(gè)ShardingProxy服務(wù)。
1、ShardingProxy部署
ShardingProxy在windows和Linux上提供了一套統(tǒng)一的部署發(fā)布包。我們可以
從ShardingSphere官網(wǎng)下載4.1.1版本的ShardingProxy發(fā)布包apache
shardingsphere-4.1.1-sharding-proxy-bin.tar.gz,解壓到本地目錄。配套資料中
已經(jīng)提供
注意不要有中文路徑
首先,我們需要把MySQL的JDBC驅(qū)動(dòng)包mysql-connector-java-8.0.20.jar手動(dòng)
復(fù)制到ShardingProxy的lib目錄下。ShardingProxy默認(rèn)只附帶了PostgreSQL的
JDBC驅(qū)動(dòng)包,而不包含MySQL的JDBC驅(qū)動(dòng)包。
然后,我們需要到conf目錄下,修改server.yaml,將配置文件中的
authentication和props兩段配置的注釋打開。
authentication:
users:
root:
password: root
sharding:
password: sharding
authorizedSchemas: sharding_db
props:
max.connections.size.per.query: 1
acceptor.size: 16 # The default value is available processors count * 2.
executor.size: 16 # Infinite by default.
proxy.frontend.flush.threshold: 128 # The default value is 128.
# LOCAL: Proxy will run with LOCAL transaction.
# XA: Proxy will run with XA transaction.
# BASE: Proxy will run with B.A.S.E transaction.
proxy.transaction.type: LOCAL
proxy.opentracing.enabled: false
proxy.hint.enabled: false
query.with.cipher.column: true
sql.show: false
allow.range.query.with.inline.sharding: false
然后,我們修改conf目錄下的config-sharding.yaml,這個(gè)配置文件就是
shardingProxy關(guān)于分庫(kù)分表部分的配置。整個(gè)配置和之前我們使用ShardingJDBC
時(shí)的配置大致相同,我們?cè)谧钕旅姘凑兆约旱臄?shù)據(jù)庫(kù)環(huán)境增加以下配置: