news 2026/9/8 20:42:27

【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/9/2 22:43:47

【MyCat】第3章 ----搭建读写分离

文章目录 3.1 搭建一主一从1、 搭建 MySQL 数据库主从复制2、 修改 Mycat 的配置文件 schema.xml3、 启动 Mycat4、 验证读写分离 3.2 搭建双主双从1、 搭建 MySQL 数据库主从复制(双主双从)2、 修改 Mycat 的配置文件 schema.xml3、 启动 Mycat4、 验证…

作者头像 李华
网站建设 2026/9/2 22:43:20

【MyCat】第5章----水平拆分——分表

文章目录5.1 实现分表1、 选择要拆分的表2、 分表字段3、 修改配置文件 schema.xml4、 修改配置文件 rule.xml5、 在数据节点 dn2 上建 orders 表6、 重启 Mycat,让配置生效7、 访问 Mycat 实现分片5.3 常用分片规则1、 取模2、 分片枚举3、 范围约定5.4 全局序列1、…

作者头像 李华
网站建设 2026/9/3 0:22:13

2026 年 AI 如何将 3D 渲染时间缩短 70%?原理解析 + 云渲染实战方案

在 3D 可视化与影视特效行业,一直以来渲染速度缓慢都是制约创意开展与效率提升的核心痛点:从高质量影像输出到复杂场景预览,往往需要耗费数小时甚至数天的时间,这不仅延长制作周期,还直接影响成本与客户满意度。随着 2…

作者头像 李华
网站建设 2026/9/6 20:13:59

如何在应用程序中安装插件并使用

应用程序与插件的关系、安装使用及核心机制 一、应用程序与插件的关系 1.1 基本关系 应用程序是独立运行的软件,而插件(也称为扩展、附加组件)是扩展应用程序功能的独立模块。它们的关系类似于: 主机与客体的关系:…

作者头像 李华