学习:https://www.bilibili.com/video/BV13B4y1h7Wu?p=12&spm_id_from=pageDriver&vd_source=3f21d2e208ef0bf2c49a9be7560735e5

学习:https://www.cnblogs.com/sdadx/p/6418871.html

学习:https://blog.csdn.net/songjuntao8/article/details/119942226

背景:

在实际应用项目开发中,应用数据基本上都存储在数据库中,针对数据库的操作有增删改查操作。

有时为了解决并发大数据访问问题,我们需要使用数据库读写分离,主库用来实现应用数据的增删改操作,而从数据库主要用来进行查询操作

一个主库:写操作服务器

多个从库:查询操作的服务器--承载80%的查询动作--查询动作由多个服务器来支撑--做到了负载均衡。

写库必然需要把操作同步到查询库中:

增删改:主控

查询库:从库

一主多从

数据如何复制,采用的是数据库日志(对于每一个操作都有1个记录)

1,数据同步有延迟,有办法解决的。

2,多个数据库之间,表结构,数据库输出的量都是一样的。

1,删除发布和订阅

如果之前配置过了,需要先删除

1、删除单个的发布 : 复制-->  本地发布--> 右击--> 删除,然后再把对应的订阅服务器删除掉

2、删除全部的发布: 复制--> 右击 --> 禁用发布和分发,这个会同时的把分发服务器的配置清掉,需要重新配置的哦

参考:https://www.cnblogs.com/zerocc/p/3200714.html

2,配置分发

准备工作:

【2.1】启动数据库的服务引擎(默认都是开启的)

【2.2】在开始菜单中找到Sql Server Configuration Manger页面配置,手动启动

【2.3】SQLServer要用本机名登录,不能Localhost

【2.4】布置分发

【2.5】快照地址这个文件夹要设置共享,不要方C盘。

【2.6】配置完成后,这个文件夹多了2个文件

3,发布

把某个数据库发布出去,你可以订阅我

把主库发布出去,从库可以订阅

【3.1】

【3.2】出现警告:无法启动快照代理,快照文件夹里面也没有多出来文件。

【3.3】在服务中把这个代理服务打开

【3.4】删除没成功的发布,重新执行3.1的步骤,就全部发布成功了。

【3.4】发布成功后,会多出unc这个文件夹

4,订阅

【4.1】

【4.2】从库中有主库的数据了

【4.3】重复4.1,再新建一个从站,实现一主两从

5,测试

【5.1】主库新增一条数据,2个从库也会自动同步更新。

主库删除数,2个从库也自动删除数据。

修改从库的数据,主库不会自动更新。

结果:主库增删改,从库会自动更新。从库增删改,主库不会自动更新。

问题:读写分离,对于我们写程序而言,增删改需要找主库,查询需要找从库,程序代码就很麻烦啦。

最新文章

  1. Basic Tutorials of Redis(5) - Sorted Set
  2. springMVC工作机制和框架搭建配置说明
  3. UIPage
  4. debian hosts文件中的 127.0.1.1 主机地址
  5. STM32F0xx_ADC采集电压配置详细过程
  6. Oracle基础 (系统工具(export,import)) exp/imp和 (数据泵 (data pump))expdp/impdp的区别:
  7. linux系统的crond服务
  8. tap,touch,touchstart,事件与click事件的区别
  9. 结构体数组(C++)
  10. 深入Java虚拟机读书笔记第五章Java虚拟机
  11. VBA基础——循环语句
  12. python练习之list
  13. MPMoviePlayerController导致statusBar消失,导致内存泄露leak
  14. Python 新浪微博中提取最常见转载的微博转载了几次,username,内容
  15. Jquery动态增加行和删除行
  16. java之静态代理和动态代理
  17. Django之Model进阶的更多操作
  18. selenium自动化测试python
  19. 裸奔的bootloader单步调试
  20. Linux cp命令详解

热门文章

  1. JZOJ 3889
  2. 如何调用别人的接口(包含get请求post请求)
  3. 跟着廖雪峰学python 006
  4. LeetCode-2100 适合打劫银行的日子
  5. MTU设置不当导致ssh运行命令卡死
  6. Jmix- 业务系统高效开发的少代码平台
  7. HBase架构及读写流程
  8. reportviewer的简单使用
  9. M1芯片的Mac上如何安装Windows系统
  10. myJRebel 已不可用