## **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 集群扩容方案