## **1. 官網下載sharding-porxy,下載最新版本的二進制包**
下載地址:[https://shardingsphere.apache.org/document/current/cn/downloads/](https://shardingsphere.apache.org/document/current/cn/downloads/)


## **2. 上傳服務器并解壓**
```
tar zxvf apache-shardingsphere-4.1.1-sharding-proxy-bin.tar.gz -C /data/
```


## **3. 重命名**
```
mv /data/apache-shardingsphere-4.1.1-sharding-proxy-bin /data/sharding
```


## **4. 把運行需要的mysql驅動mysql-connector-java.jar復制到sharding proxy的lib/下**
下載地址:[https://mvnrepository.com/artifact/mysql/mysql-connector-java](https://mvnrepository.com/artifact/mysql/mysql-connector-java)

## **5. 配置**
進入到sharding-proxy的conf目錄,我們所有的數據源、分片規則、讀寫分離等都在此目錄下配置。
修改server.yaml文件

修改config-sharding.yaml文件

說明:

* logback.xml是日志的配置。
* server.yaml是Sharding-Proxy的一些基礎配置,比如:賬號、密碼、注冊中心等。
* 剩下的所有以config開頭的yaml文件,都是一個邏輯數據源,我們可以看到最常見的兩個config-sharding.yaml(分片的配置),config-master\_slave.yaml(讀寫分離的配置)。
## **6. 啟動服務**
物理庫必須要先創建好,否則啟動失敗
```
cd /data/sharding/bin
# 默認是3307端口;當然你也可以指定端口,在后面加上參數即可,比如./start.sh 3308
./start.sh 3307
```

查看3307端口是否正常啟動
```
lsof -i:3307
```

啟動的時候,查看日志發現有錯誤:
```
com.mysql.jdbc.jdbc2.optional.MysqlXAException: XAER_RMERR: Fatal error occurred in the transaction branch - check your data for consistency
```
解決方案:當前訪問mysql的賬號缺少XA_RECOVER_ADMIN權限導致,執行以下sql語句授權即可
```
GRANT XA_RECOVER_ADMIN ON *.* TO zq@'%' ;
```
## **7. Navicat連接測試**
輸入root的賬號和密碼


邏輯庫shop已存在,至此,sharding-porxy已安裝啟動完成。
- 數據庫架構的演變
- 安裝Sharding-Proxy
- 數據分片之概念篇
- 數據分片之水平分庫分表
- 數據分片之垂直分庫分表(解決中文亂碼問題)
- tp6 基于Sharding-Proxy的分庫分表
- 全局分布式ID生成
- 范圍分片-按年分庫按月分表
- tp6 基于Sharding-Proxy的讀寫分離
- 基于docker搭建mysql8的GTID半同步復制
- 數據讀寫分離實戰
- Hint 強制查詢走主庫
- 廣播表
- 數據脫敏
- tp6 基于Sharding-Proxy的事務管理
- 本地事務
- 兩階段事務(XA強一致事務)
- 柔性事務-BASE
- logback 自定義日志級別及存儲方案
- Sharding-Proxy 整合Nginx實現高可用
- Sharding-Proxy 集群擴容方案