分库分表-ShardingSphere之sharding-proxy的使用

一、下载sharding-proxy二进制压缩包。

1、下载地址:https://shardingsphere.apache.org/document/current/cn/downloads/
我下载的是4.0.1版本。
如下图:
在这里插入图片描述
2、解压:
注意事项:
(1)解压工具最好选择winrar,不然解压出来的lib文件夹下的jar包由于命名太长而被截断,后面会导致文件找不到,导致系统启动失败。
(2)解压后的路径不要有中文,否则也会导致启动失败。
(3)如果其他解压工具导致解压出来的lib文件夹下的jar包异常,如下:
在这里插入图片描述
你看,lib下的jar包是有问题的,怎么办?别急,我们可以去maven中央仓库再把它们下载下来就行了。将每个有问题的jar包名复制下来,然后去maven中央仓库搜索,喏,链接在这里:https://mvnrepository.com/
在这里插入图片描述
然后将下载下来的jar包放进lib文件夹里,再删掉原来有问题的jar包就可以了。
记得这里还要加入mysql驱动包。
在这里插入图片描述

二、配置文件

1、打开conf下的server.yaml文件,把下面这部分的注释打开。
在这里插入图片描述
2、打开conf下的config-sharding.yaml文件,把下面这部分的注释打开,配置好数据源、账户和密码等。初学者可以直接用它默认的配置也行,这里是分两个库、每个库两个表。
在这里插入图片描述
由上图可以看出,这里是根据user_id分库,order_id分表。

3、配置完成后,如果你使用的是它默认配置的数据源,而你本地数据库原来是没有这两个库的,记得在本地数据库(默认3306端口)建好那两个库。
在这里插入图片描述
4、配置好以后,接下来,找到bin目录下的stat.bat文件,双击启动应用。
在这里插入图片描述
在这里插入图片描述
启动成功。

三、使用navicat客户端连接

接下来在navicat中新建连接,端口号是3307,用户名:root,密码:root。
(注意:navicat建议使用Navicat Premium 11版本的,不要用Navicat Premium 12版本的,否则会出问题,上次在这里被坑惨了,谨记。)
在这里插入图片描述
连接成功后,我们会发现它已经自动生成了sharding_db这个库,这就是我们的代理库。
在这里插入图片描述
然后我们可以在这个库里建表,下面我们建一个t_order表作为例子讲解:

CREATE TABLE t_order (
order_id bigint(20) NOT NULL AUTO_INCREMENT,
user_id int(11) NOT NULL,
status varchar(50) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (order_id)
) ENGINE=InnoDB AUTO_INCREMENT=279205305122816001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

建好之后,刷新本地3306端口的那两个库,可以看到,这里已经自动根据规则建好了分表。
在这里插入图片描述
然后我们再在3307代理库的表中添加一些数据:
INSERT INTO t_order (order_id, user_id, status) VALUES (11, 0, ‘2’);
INSERT INTO t_order (order_id, user_id, status) VALUES (12, 1, ‘2’);
INSERT INTO t_order (order_id, user_id, status) VALUES (13, 0, ‘2’);
在这里插入图片描述

现在再看看3306,数据已自动根据规则插入到各个分库和分表中。
在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Sharding-Proxy 是一个开源的分库中间件,它可以帮助应用程序实现无感知的分库操作。下面是一个简单的步骤来利用 Sharding-Proxy 进行分库: 1. 安装和配置 Sharding-Proxy:首先,你需要下载 Sharding-Proxy 的安装包,并解压到你的服务器上。然后,根据你的需求修改配置文件,配置数据源和分片规则等信息。 2. 创建数据库和:在进行分库之前,你需要创建相应的数据库和结构。你可以选择手动创建,或者使用 Sharding-Proxy 提供的自动建功能。 3. 配置分片规则:在 Sharding-Proxy 的配置文件中,你需要定义分片规则,指定如何将数据分散到不同的数据库和中。可以使用基于范围、哈希、精确等多种分片算法。 4. 连接到 Sharding-Proxy:在应用程序中,需要修改数据库连接信息,将原来连接数据库的地址改为连接 Sharding-Proxy 的地址。这样应用程序就可以通过 Sharding-Proxy 访问分片后的数据。 5. 进行分库操作:现在你可以在应用程序中执行正常的数据库操作,而无需关心具体的分库细节。Sharding-Proxy 会根据配置的规则自动将数据路由到正确的库和中。 需要注意的是,使用 Sharding-Proxy 进行分库操作需要仔细考虑数据一致性、事务处理、跨库查询等问题。在配置和使用过程中,建议参考官方文档和示例来确保正确性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值