Shardingsphere-Proxy 5.5.0部署

Shardingsphere-Proxy 5.5.0部署

  • Shardingsphere系列目录:
  • 背景
  • 下载安装包
  • Linux解压安装包
  • 修改配置文件
    • global.yaml
    • database-sharding.yaml
      • 配置没有单表情况
      • 配置有单表的情况
        • 背景
  • 引入数据库驱动
  • 启动代理
  • 连接代理数据库
    • Navicate工具连接
    • MYSQL客户端连接

Shardingsphere系列目录:

【Springboot 集成 Shardingsphere-JDBC】
【Shardingsphere-Proxy 5.5.0部署】

背景

继上一篇【Springboot 集成 Shardingsphere-JDBC】 实现了真实的分库分表,但是我们每次线下查数据的时候不能一个一个表挨个查询吧?这样就需要一个代理数据库将分片数据库和表的数据汇聚起来,就用到了Shardingsphere-Proxy。

下载安装包

进入shardingsphere官网:

https://shardingsphere.apache.org/

在这里插入图片描述
在这里插入图片描述

Linux解压安装包

使用指令

tar -zxvf apache-shardingsphere-5.5.0-shardingsphere-proxy-bin.tar.gz

安装包解压后目录:
在这里插入图片描述

修改配置文件

进入config目录,修改两个配置文件

global.yaml

authority:
  users:
    - user: 该数据库代理登录用户名
      password: 该数据库代理登录密码
  privilege:
    type: ALL_PERMITTED
props:
  # 带路数据库端口号,默认3307
  proxy-default-port: 3307 

database-sharding.yaml

配置没有单表情况

databaseName: 代理数据库名
dataSources:
  db0:
    url: jdbc:mysql://localhost:3306/tss_db?allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&useSSL=false&maxReconnects=666&failOverReadOnly=false&initialTimeout=10&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
    username: root
    password: 1234
  db1:
    url: jdbc:mysql://localhost:3306/tss_db_2?allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&useSSL=false&maxReconnects=666&failOverReadOnly=false&initialTimeout=10&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
    username: root
    password: 1234
rules:
- !SHARDING
  tables:
    tss_table:
      actualDataNodes: db$->{0..1}.tss_table_$->{1..31}
    # 分片表后缀不是简单数字自增,可以使用英文逗号拼接
    tss_tenant_table:
      actualDataNodes: db$->{0..1}.tss_tenant_table_0${1..9},db$->{0..1}.tss_tenant_table_$->{1..31}

配置有单表的情况

背景

一个工程需要连接三个数据库,一个数据库中放的全是未分片的单表另两个数据库有实现分库的分片表,这种情况需要进行如下配置。

databaseName: 代理数据库名
dataSources:
  db:
    url: jdbc:mysql://localhost:3306/tss_db?allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&useSSL=false&maxReconnects=666&failOverReadOnly=false&initialTimeout=10&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
    username: root
    password: 1234
  db0:
    url: jdbc:mysql://localhost:3306/tss_db1?allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&useSSL=false&maxReconnects=666&failOverReadOnly=false&initialTimeout=10&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
    username: root
    password: 1234
  db1:
    url: jdbc:mysql://localhost:3306/tss_db_2?allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&characterEncoding=utf8&autoReconnect=true&useSSL=false&maxReconnects=666&failOverReadOnly=false&initialTimeout=10&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
    username: root
    password: 1234
rules:
- !SHARDING
  tables:
    tss_table:
      actualDataNodes: db$->{0..1}.tss_table_$->{1..31}
	# 分片表后缀不是简单数字自增,可以使用英文逗号拼接
    tss_tenant_table:
      actualDataNodes: db$->{0..1}.tss_tenant_table_0${1..9},db$->{0..1}.tss_tenant_table_$->{1..31}
    # 单表配置
    test_single_table:
      actualDataNodes: db.test_single_table

注意:这个yaml中的【databaseName】参数是必须的,并且内容不能是【shardingsphere】,因为这个【shardingsphere】数据库在这个代理创建的时候就已经有了。

引入数据库驱动

将数据库驱动放到lib目录下,我放的版本是【mysql-connector-java-8.0.23.jar】。
注意:
1. 官网说放到ext-lib目录下,这个我试过,放到lib和ext-lib都可以使用,看个人喜好吧。
2. 这个驱动最好放新版本的,不要放太老的,可能会出问题。

启动代理

进入【bin】目录,执行指令:

./start.sh

在这里插入图片描述
截图红框中的路径就是日志文件所在路径,可以通过以下指令查看日志:

cat /opt/middle/shardingsphere_proxy/apache-shardingsphere-5.5.0-shardingsphere-proxy-bin/logs/stdout.log

连接代理数据库

Navicate工具连接

在这里插入图片描述

MYSQL客户端连接

执行指令:

mysql -h${proxy_host} -P${proxy_port} -u${proxy_username} -p${proxy_password}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/725322.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为IPD体系中三大流程之IPD流程的六个阶段和七个评审点介绍

概念 IPD集成产品开发,英文是IntegratedProduct Development,是一整套科学的研发创新管理方法论,将产品经营管理思想和理念置入到新产品开发和产品管理过程中,因此IPD是不仅是一套研发管理体系,更是一套产品经营管理体…

浸没式液冷服务器的换热效率及节能潜力分析

服务器浸没式液冷的换热效率及节能潜力 摘要:我们针对服务器浸没式液冷实验台进行了深入测试,探究了不同室外温度和服务器发热功率对系统制冷PUE的影响。实验数据显示,该系统的制冷PUE值介于1.05至1.28之间,高效节能特点显著。 在…

报表控件Stimulsoft 图表轴的日期时间步长模式

Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了…

83. 删除排序链表中的重复元素

文章目录 题目解题思路代码 题目 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2] 示例 2: 输入&#xff1…

年终奖发放没几天,提离职领导指责我不厚道,我该怎么办?

“年终奖都发了,你还跳槽?太不厚道了吧!” “拿完年终奖就走人,这不是典型的‘骑驴找马’吗?” 每到岁末年初,关于“拿到年终奖后是否应该立即辞职”的话题总会引发热议。支持者认为,这是个人…

LVS负载均衡群集群DR模式LVS负载均衡部署

1、LVS-DR工作原理 1、数据包流向分析 第一步:客户端发送请求到 Director Server (负载均衡器),请求的数据报文到达内核空间。 数据报文 源 IP ------客户端的 IP 目标 IP ------ VIP 源 MAC ------客户端的 MAC 目的 MAC ------ Director …

【C语言】一维数组(详解)

目录 1. 数组的概念 2. 一维数组的创建和初始化 3. 一维数组的使用 4. 一维数组在内存中的存储 5. sizeof 计算数组元素个数 正文开始—— 1. 数组的概念 数组是一组相同类型元素的集合。 数组中存放的是1个或者多个数据,但是数组元素个数不能为0。…

融合调度中心控制台的特点及应用行业

融合调度指挥中心是现代交通、能源、通讯等重要领域中不可或缺的一部分。在融合调度指挥中心中,设备配置的合理性和高效性直接影响到整个系统的运行效率和安全性。其中,控制台是融合调度指挥中心的核心设备之一,它承担着整个系统的操作、监控…

2024年应用科学、航天航空与核科学国际学术会议(ICASANS 2024)

2024年应用科学、航天航空与核科学国际学术会议(ICASANS 2024) 2024 International Academic Conference on Applied Science, Aerospace and Nuclear Science(ICASANS 2024) 会议简介: 在科技日新月异的今天&#xf…

pandas中的loc和iloc

loc和iloc的比较 .loc 和 .iloc 是 pandas 提供的两种不同的索引方法,它们的主要区别在于索引数据的依据: .loc: 基于标签的索引,使用 DataFrame 或 Series 的索引标签(即行名和列名)来获取数据。可以使用…

亚特全球链锯文化推广大使活动盛大启航

(本台记者报)链锯,这一象征着力量与技艺的工具,自诞生以来便见证了人类工业文明的进步。从最初的简易链锯到如今的多功能锂电链锯,彰显了人类对于技艺与科技的追求,其演变历程不仅映射出人类科技的巨大飞跃…

git的Cherry pick

Cherry pick Git Cherry Pick详解 https://blog.csdn.net/jam_yin/article/details/131594716 目标: 将开发分支A中提交的部分内容合并到B分支(可能是测试分支) 步骤: vscode安装 点击下图标进入graph

只有你相信,客户才会相信

我们外贸人在一起聊天的时候,可能最常说的话就是我们的产品不好做,出单太难了,是不是产品不行啊?但是又不知道什么产品好做,好不容易听到一款产品好做吧?自己又不懂,摸索不出来,因此…

深入分析四层/七层网关

1 简要介绍 随着云计算、大数据和物联网技术的迅猛发展,网络通信的复杂性和需求日益增加。在这种背景下,网关技术作为网络通信中的重要组成部分,扮演着关键的角色。 作为连接不同网络或协议的桥梁,四层网关和七层网关是两种常见且…

Pytorch编写Transformer

本文参考自https://github.com/datawhalechina/learn-nlp-with-transformers/blob/main/docs/ 在学习了图解Transformer以后,需要用Pytorch编写Transformer,下面是写代码的过程中的总结,结构根据图解Transformer进行说明。 import numpy as …

xss.haozi.me靶场通关参考

url&#xff1a;https://xss.haozi.me/ 文章目录 0x000x010x020x030x040x050x060x070x080x090x0A0x0B0x0C00xD00xE00xF0x100x110x12 0x00 先看js代码&#xff0c;第一关给你热热手&#xff0c;没给你加过 payload&#xff1a; <script>alert(1)</script>0x01 这…

Win11 删除文件时提示“找不到该项目,请重试”的解决办法

1、Win R 打开运行窗口&#xff0c;输入 notepad 并回车打开文本文档(记事本)软件&#xff0c;如下图&#xff1a; 2、在文本文档(记事本)软件中复制粘贴以下代码&#xff0c;如下图&#xff1a; del /f /a /q \\?\%1 rd /s /q \\?\%1或DEL /F /A /Q \\?\%1 RD /S /Q \\?…

4个工作学习必备的工具,请不要错过

一键改图 “一键改图”是一款简单易用的在线图片处理工具&#xff0c;提供了多种功能来帮助用户快速处理图片。具体功能包括&#xff1a; 压缩图片质量&#xff1a;可以调整图片的质量&#xff0c;使其更小但不失真。 压缩图片尺寸&#xff1a;可以根据需要调整图片的尺寸。 …

leetcode刷题日志-旋转图像

题目描述 解题思路 也就是一个找规律的题&#xff0c;可以写一个转换前后的坐标对比&#xff0c;很容易能找到规律。[i,j]->[j,length-i-1]上式就是找到的规律。在解题的时候遇到过一个问题&#xff0c;就是如果我单纯的将数组复制给一个中间变量&#xff0c;或者是将数组中…

Vue发送http请求

1.创建项目 创建一个新的 Vue 2 项目非常简单。在终端中&#xff0c;进入您希望创建项目的目录(我的目录是D:\vue)&#xff0c;并运行以下命令&#xff1a; vue create vue_test 2.切换到项目目录&#xff0c;运行项目 运行成功后&#xff0c;你将会看到以下的编译成功的提示…