springboot多数据源配合docker部署mysql主从实现读写分离

Docker部署Mysql主从复制实现Springboot读写分离案例 Sharding-JDBC定位为轻量级的JAVA框架,在JAVA的JDBC层提供额外的服务,它使得客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架使用Sharding-JDBC可以在程序中轻松的实现数据库读写分离适用于任何基于JDBC的ORM框架支持任何第三方的数据库连接池支持任意实现JDBC规范的数据库使用Sharding-JDBC框架的步骤导入对应的maven坐标在配置文件中配置读写分离规则。 阅读详情

本篇主要有两部分:

  • 1、使用docker部署mysql主从 实现主从复制

  • 2、springboot项目多数据源配置,实现读写分离

一、使用docker部署mysql主从 实现主从复制

此次使用的是windows版本docker,mysql版本是5.7

  • 1、使用docker获取mysql镜像

docker pull mysql:5.7.23 #拉取镜像文件

docker images #查看镜像文件

查看镜像文件

  • 2、使用docker运行mysql master

docker run --name mysql-master --privileged=true -v F:\dockerV\mysql:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=654321 -d mysql:5.7.23

    • --name 容器名称mysql-master

    • --privileged 指定了当前容器是否真正的具有root权限,所谓的root权限是指具有宿主机的root权限,而不仅仅只是在容器内部有root权限

    • -v 将系统的F:\dockerV\mysql挂载到容器的/var/lib/mysql,注意是将宿主机 挂载到 容器内部,而不是将容器内部挂载到宿主机

    • -p 表示宿主机上的某个端口映射到docker容器内的某个端口,这里也就是将宿主机的3307端口映射到容器内部的3306端口

    • -e 表示指定当前容器运行的环境变量,该变量一般在容器内部程序的配置文件中使用,而在外部运行容器指定该参数。这里的MYSQL_ROOT_PASSWORD表示容器内部的MySQL的启动密码

    • -d 后台运行,镜像文件为mysql:5.7.23

  • 接下来进入容器内部,修改配置,使其作为mysql master运行

docker exec -it mysql-master bash #进入容器内部

进入容器内部

  • 配置mysql master,修改mysql.cnf

修改mysql.cnf

  • 使用vim修改mysql.cnf,没有安装vim会提示bash: vi: command not found 则需要安装vim

apt-get install vim

apt-get update

apt-get install vim

vim mysqld.cnf #修改cnf文件,添加 server-id 表示master服务标识,同一局域网内注意要唯一 和 log-bin=mysql-bin 开启二进制日志功能,可以随便取,用来完成主从复制

修改cnf文件

  • 修改完成mysql的配置后,需要重启服务生效

service MySQL restart # 重启mysql服务时会

springboot 多数据源配合 docker 部署 mysql 主从实现读写分离 获取 master_host,使用。 阅读详情

相关推荐

SpringBoot多数据源实战:AbstractRoutingDataSource与dynamic-datasource方案详解

在分布式系统与微服务架构中,数据库连接管理是核心基础组件。数据源(DataSource)作为Java应用与数据库交互的入口,其配置与管理直接关系到系统的性能与稳定性。当业务需要同时访问多个独立数据库实例时,便产生了多数据源需求,其核心原理在于通过路由机制,在运行时动态将数据库操作指向不同的物理连接。实现这一机制的技术价值在于,它支撑了读写分离、业务分库、多租户等关键架构模式,有效提升了系统的扩展性、可用性与资源隔离能力。典型的应用场景包括电商系统的订单库与用户库分离、后台管理系统的核心业务数据与日志报表数据

weixin_33922670的博客 414

SpringBoot与StarRocks深度整合:Flink CDC实现MySQL亚秒级实时同步实战

本文详细介绍了如何将SpringBoot应用与StarRocks分析型数据库深度整合,并利用Flink CDC实现MySQL数据的亚秒级实时同步。通过动态数据源配置、Flink SQL任务部署及实战调优,构建了一套高效、稳定的实时数据分析管道,有效解决了OLTP与OLAP系统间的数据同步与查询性能瓶颈。

weixin_29070861的博客 309

MyBatisPlus与SpringBoot整合开发实践

ORM框架是Java企业级开发中数据持久层的核心技术,MyBatis作为主流ORM工具,通过XML/注解方式实现SQL与代码解耦。MyBatisPlus在其基础上进行了增强,提供自动化CRUD、智能SQL注入等特性,显著提升开发效率。与SpringBoot整合后,这套技术栈能快速构建数据访问层,特别适合用户管理、订单系统等需要高频数据库操作的场景。通过条件构造器和分页插件等高级特性,开发者可以避免手动拼接SQL,同时保证性能优化与事务安全。2022年技术调研显示,MyBatisPlus 3.3.x与Spri

444

Spring Boot 3+Druid多数据源配置与监控实战

数据库连接池是Java企业级应用中的核心组件,负责管理数据库连接的创建、使用和回收。Druid作为阿里开源的连接池实现,不仅具备高性能连接管理能力,更以其强大的监控功能著称。通过内置的SQL统计、连接池状态可视化等特性,开发者可以实时掌握SQL执行情况,快速定位性能瓶颈。结合Spring Boot 3的自动化配置,可以轻松实现多数据源动态切换,满足主从分离、分库分表等复杂场景需求。本文以电商系统为例,详细演示如何配置Druid监控页面、实现SQL日志打印,并分享生产环境中连接泄漏检测、慢SQL优化等实战经验

weixin_34343308的博客 429

SpringBoot+Vue3+MyBatis企业级客户管理系统架构解析

企业级客户管理系统是现代企业数字化转型的核心组件,其技术架构设计直接影响系统性能和可维护性。采用前后端分离架构(如SpringBoot+Vue3)配合MyBatis持久层,能有效提升系统响应速度和开发效率。在数据库优化方面,MySQL结合Redis缓存可显著提高QPS,而动态SQL和分页查询优化则解决了大数据量下的性能瓶颈。这类系统在金融、电商等行业有广泛应用,特别是在需要处理高并发客户数据和复杂业务逻辑的场景中。通过合理的架构选型(如微服务化改造)和性能调优(如JVM参数配置),系统可稳定支撑百万级数据量

weixin_33812433的博客 438

SpringBoot+Vue房屋租赁系统开发实战

现代Web开发中,前后端分离架构已成为主流技术范式。通过SpringBoot构建稳健的后端服务,结合Vue.js实现响应式前端界面,这种技术组合能显著提升开发效率。RESTful API作为前后端通信标准,确保了数据交互的规范性和扩展性。在房屋租赁领域,此类系统可有效解决传统行业的信息不对称问题,实现房源管理、在线签约等核心业务流程数字化。本文以实战角度,详细解析基于SpringBoot+Vue的租赁系统架构设计,涵盖MyBatis动态SQL、Vuex状态管理等关键技术要点,并分享生产环境中的性能优化经验。

weixin_33933118的博客 329

SpringBoot+Vue3服装生产管理系统架构与优化实践

企业级生产管理系统通过前后端分离架构实现业务数字化,其中SpringBoot作为主流Java框架提供稳定的后端服务,Vue3则以其响应式特性提升前端开发效率。系统采用MySQL+Redis构建高性能数据层,通过智能排产算法优化生产流程,结合区块链技术实现物料全链路追溯。在工业场景中,此类系统可显著降低数据误差率,其中服装行业的实践表明生产效率可提升40%以上。本文以服装生产管理系统为例,详解多数据源配置、遗传算法排产等核心技术实现,并分享MySQL索引优化、多级缓存策略等性能调优经验。

weixin_35756373的博客 152

SpringBoot+Vue校园招聘系统开发实战与优化

现代招聘系统通过数字化手段解决企业、学生与高校间的信息不对称问题,其核心技术架构通常采用前后端分离模式。SpringBoot作为Java生态的高效开发框架,结合MyBatis-Plus实现数据持久化,可快速构建高并发后端服务;Vue 3.x配合Element Plus则能打造响应式管理界面。在校园招聘场景中,系统需要处理简历解析、多角色权限控制等核心功能,其中RBAC权限模型和Apache POI文档处理是关键技术点。通过Redis缓存优化和容器化部署,系统可支撑招聘会期间3000+并发请求。这类解决方案已

weixin_33849215的博客 308

SpringBoot+Vue在线拍卖系统开发实战

在线拍卖系统是典型的电商应用场景,其核心技术涉及前后端分离架构与高并发处理。采用SpringBoot+Vue技术栈可实现RESTful API与响应式界面的高效开发,其中Spring Security和JWT保障系统安全,Redis缓存优化热点数据访问。在工程实践中,WebSocket实现实时竞价推送,乐观锁和限流机制应对高并发场景,这些方案对电商系统开发具有普适价值。本案例通过拍卖业务流程的完整实现,展示了主流技术栈在企业级项目中的实际应用,特别适合作为毕业设计或全栈开发学习项目。

weixin_28713947的博客 125

蓝牙HCI Dongle实战:从芯片选型到协议栈集成的完整指南

本文详细介绍了蓝牙HCI Dongle的实战应用,从芯片选型到协议栈集成的完整指南。通过对比CSR8510、nRF52840等主流芯片的性能和价格,提供选型建议和避坑技巧。同时,深入解析Zephyr协议栈移植和常见问题排查,帮助开发者高效完成蓝牙项目开发。

weixin_30786657的博客 322

point transformer v3结构

分割结构: embedding->enc->dec embedding->enc0->enc1->enc2->enc3->enc4->dec3->dec2->dec1->dec0 embedding ->block0->block1 ->dow->block0->block1 ->dow->block0->block1 ->dow->block0->block1-&gt

weixin_45625419的博客 581

电感选型不当的代价:从纹波激增到系统失稳的深度剖析

本文深度剖析了电感选型不当对开关电源系统的严重影响。电感值过小会导致纹波电流激增、元件热应力加剧、EMI超标乃至MOSFET击穿;电感值过大则会引起环路响应迟滞、动态性能下降和轻载效率恶化。文章通过实测案例,强调了超越经典公式进行动态与容差考量的必要性,并提供了基于饱和电流、温升电流及环路测试的精准选型方法论,帮助工程师规避从纹波失控到系统失稳的潜在风险。

flink9streamer的博客 406

直线电机驱动技术原理与应用解析

直线电机作为直接电能-直线运动转换装置,其核心原理基于电磁感应定律和洛伦兹力公式。通过三相交流电在定子绕组中产生行波磁场,与动子永磁体相互作用实现精准推力控制。相比传统旋转电机传动系统,直线电机具有零传动间隙、高动态响应(加速度可达10g)和微米级定位精度等技术优势,这使其成为半导体光刻机、精密数控机床等高端装备的关键驱动部件。现代直线电机驱动单元通常采用三环控制架构(电流环、速度环、位置环),配合SiC功率器件和高分辨率光栅反馈,实现纳米级运动控制。随着模块化设计和直接冷却技术的发展,直线电机正朝着更高功

weixin_26802933的博客 259

lumerical-环形谐振器

利用mode求解器优化得到所需的环的总长度,即环形器的半径,然后通过varFDTD得到光场分布和透过率.

m0_61776728的博客 2189

基于信号完整性的PCB设计原则

基于信号完整性的PCB设计建议,以单网络的信号布线作为评估对象,给出了一些最基础的设计指导,如何灵活运用,取决于设计者根据实际场景如何做取舍和判断。

一只豌豆象的博客 1758

锂电池的充电和放电曲线解读

锂电池充放电曲线是反映其性能的关键指标。充电曲线分为恒流和恒压两阶段:恒流阶段电压快速上升,恒压阶段电流逐渐降低;放电曲线则呈现平台期和快速衰减期特征。这些曲线受温度、充放电倍率及材料体系(如三元锂或磷酸铁锂)显著影响。通过分析曲线特征,可优化电池管理系统,实现精准的SOC估算、快充策略制定及故障诊断,从而在电池性能与安全性间取得平衡。不同应用场景(如新能源汽车或消费电子)对曲线形态有特定要求。

start_up_go的博客 5067

国科大学习资料--模式识别与机器学习(黄庆明)--期末复习题2(含答案)

国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) 国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) 国科大学习资料–模式识别与机器学习(黄庆明)–期末复习题2(含答案) ...

无名何许人的博客 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: SpringBoot+Vue开发前后端分离的人力资源管理系统源码免费分享
下一篇: Spring Boot中如何配置线程池拒绝策略,妥善处理好溢出的任务
在酒吧写代码
博客等级 码龄7年 210粉丝 330原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值