news 2026/4/23 18:33:34

【ShardingJDBC 】【笔记】---- Sharding-JDBC 读写分离 配置 MySQL 主从

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【ShardingJDBC 】【笔记】---- Sharding-JDBC 读写分离 配置 MySQL 主从

文章目录

  • 第一步 新增 mysql 实例
  • 第二步 修改主、从库的配置文件新增内容如下
  • 第三步 创建用于主从复制的账号
  • 第四步 设置从库向主库同步数据
  • Sharding-JDBC 读写分离配置

第一步 新增 mysql 实例

复制原有 mysql 如:D:\mysql-5.7.25(作为主库) -> D:\mysql-5.7.25-s1(作为从库),并修改以下从库的 my.ini:

[mysqld]#设置3307端口 port=3307# 设置mysql的安装目录 basedir=D:\mysql‐5.7.25‐s1 # 设置mysql数据库的数据的存放目录 datadir=D:\mysql‐5.7.25‐s1\data

然后将从库安装为 windows 服务,注意配置文件位置:

D:\mysql‐5.7.25‐s1\bin>mysqld install mysqls1‐‐defaults‐file="D:\mysql‐5.7.25‐s1\my.ini"删除服务命令 sc delete 服务名称

由于从库是从主库复制过来的,因此里面的数据完全一致,可使用原来的账号、密码登录。

第二步 修改主、从库的配置文件新增内容如下

主库 my.ini

[mysqld]#开启日志 log‐bin=mysql‐bin #设置服务id,主从不能一致 server‐id=1#设置需要同步的数据库 binlog‐do‐db=user_db #屏蔽系统库同步 binlog‐ignore‐db=mysql binlog‐ignore‐db=information_schema binlog‐ignore‐db=performance_schema

从库 my.ini

[mysqld]#开启日志 log‐bin=mysql‐bin #设置服务id,主从不能一致 server‐id=2#设置需要同步的数据库 replicate_wild_do_table=user_db.% #屏蔽系统库同步 replicate_wild_ignore_table=mysql.% replicate_wild_ignore_table=information_schema.% replicate_wild_ignore_table=performance_schema.%

重启主库和从库

第三步 创建用于主从复制的账号

#切换至主库bin目录,登录主库 mysql ‐h localhost ‐uroot ‐p #授权主备复制专用账号 GRANT REPLICATION SLAVE ON*.* TO 'db_sync'@'%' IDENTIFIED BY 'db_sync';#刷新权限FLUSHPRIVILEGES;#确认位点 记录下文件名以及位点 show master status;

第四步 设置从库向主库同步数据

#切换至从库bin目录,登录从库 mysql ‐h localhost ‐P3307 ‐uroot ‐p #先停止同步STOPSLAVE;#修改从库指向到主库,使用上一步记录的文件名以及位点 CHANGE MASTERTOmaster_host='localhost',master_user='db_sync',master_password='db_sync',master_log_file='mysql‐bin.000002',master_log_pos=154;#启动同步STARTSLAVE;#查看从库状态Slave_IO_RuningSlave_SQL_Runing都为Yes说明同步成功,如果不为Yes,请检查 error_log,然后 排查相关异常。 show slave status #注意 如果之前此从库已有主库指向 需要先执行以下命令清空 STOP SLAVE IO_THREAD FOR CHANNEL '';reset slave all;

Sharding-JDBC 读写分离配置

# 增加数据源s0,使用上面主从同步配置的从库。 spring.shardingsphere.datasource.names=m0,m1,m2,s0...spring.shardingsphere.datasource.s0.type=com.alibaba.druid.pool.DruidDataSourcespring.shardingsphere.datasource.s0.driver‐class‐name=com.mysql.jdbc.Driverspring.shardingsphere.datasource.s0.url=jdbc:mysql://localhost:3307/user_db?useUnicode=truespring.shardingsphere.datasource.s0.username=root spring.shardingsphere.datasource.s0.password=root....# 主库从库逻辑数据源定义 ds0为user_db spring.shardingsphere.sharding.master‐slave‐rules.ds0.master‐data‐source‐name=m0 spring.shardingsphere.sharding.master‐slave‐rules.ds0.slave‐data‐source‐names=s0 # t_user分表策略,固定分配至ds0的t_user真实表 spring.shardingsphere.sharding.tables.t_user.actual‐data‐nodes=ds0.t_user

如果文章对你有一点点帮助,欢迎【点赞、留言、+ 关注】
您的关注是我创作的动力!若有疑问/交流/需求,欢迎留言/私聊!
多一个朋友多一条路!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 18:44:46

【MyCat】第1章 ----入门概述

文章目录 第一章:入门介绍2、为什么要用Mycat?1、读写分离2、数据分片3、多数据源整合 3 、原理 第一章:入门介绍 Mycat 是数据库中间件。 1、数据库中间件 中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟通。 例子…

作者头像 李华
网站建设 2026/4/23 9:54:59

国内外受欢迎的CG网站与云渲染平台推荐

在数字艺术创作的世界里,CG技术和渲染平台在影视、动画、游戏等领域扮演着至关重要的角色。随着创作需求的不断增长,越来越多的CG艺术家和设计师依赖先进的云渲染平台来提高工作效率和作品质量。今天,我们就来探讨一下国内外一些知名且受欢迎…

作者头像 李华
网站建设 2026/4/22 18:58:50

计算机Java毕设实战-基于springboot的机器人家电健康预警系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/4/23 11:20:28

国产CAD这笔软件授权费,省得有点心疼

开厂子的,每天都在算账。原材料在涨价,人工工资在涨,连以前用的那套国外工业软件,每年的维护费和授权费也是一笔不小的开支。那软件功能是强大,但对于我们主要做中低端汽配件的来说,大部分功能根本用不上&a…

作者头像 李华