## **1. 官网下载sharding-porxy,下载最新版本的二进制包**
下载地址:[https://shardingsphere.apache.org/document/current/cn/downloads/](https://shardingsphere.apache.org/document/current/cn/downloads/)
![](https://img.kancloud.cn/01/85/0185bb45216e586aed1cd3891f78ad83_1896x663.png)
![](https://img.kancloud.cn/5c/1a/5c1a655561d4286ef565d57b5130685a_1611x691.png)
## **2. 上传服务器并解压**
```
tar zxvf apache-shardingsphere-4.1.1-sharding-proxy-bin.tar.gz -C /data/
```
![](https://img.kancloud.cn/0b/f2/0bf2fdfe8c1572b3faa4786d4118f38f_663x36.png)
![](https://img.kancloud.cn/70/f4/70f438484bdd0de4b086ac40002ad168_1050x188.png)
## **3. 重命名**
```
mv /data/apache-shardingsphere-4.1.1-sharding-proxy-bin /data/sharding
```
![](https://img.kancloud.cn/6e/2c/6e2ccb06109b21ca08615f6395046cab_752x32.png)
![](https://img.kancloud.cn/3c/ee/3cee9e58b8f242e489873ea22f8f6835_1045x228.png)
## **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)
![](https://img.kancloud.cn/d0/8f/d08f4dd7b8d6ccc08bca8c3c0cdfaf37_1026x499.png)
## **5. 配置**
进入到sharding-proxy的conf目录,我们所有的数据源、分片规则、读写分离等都在此目录下配置。
修改server.yaml文件
![](https://img.kancloud.cn/99/bb/99bbe93235683708436a090a12668989_962x636.png)
修改config-sharding.yaml文件
![](https://img.kancloud.cn/dc/57/dc57c45221e28c3a500b6100dd1d0e58_719x439.png)
说明:
![](https://img.kancloud.cn/fd/0f/fd0f47f02604393f67afaea01b3c2e03_767x137.png)
* 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
```
![](https://img.kancloud.cn/79/ff/79ffdff0c2355ccb57cd71e8eaf78a85_768x76.png)
查看3307端口是否正常启动
```
lsof -i:3307
```
![](https://img.kancloud.cn/f8/f0/f8f04886a7e4ccf122ed77e0d6ae0019_762x48.png)
启动的时候,查看日志发现有错误:
```
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的账号和密码
![](https://img.kancloud.cn/e0/65/e06587c4c8eb1eded763b677b19ffd15_552x554.png)
![](https://img.kancloud.cn/b0/28/b028e2f9b46f95f90b5ab55fd4a58d0a_326x145.png)
逻辑库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 集群扩容方案