【SQL】主从复制


如何提升数据库并发能力:
在实际工作中,我们常常将 redis作为缓存与MySQL配合来使用,当有请求时,会首先从缓存中进行查找,如果存在就直接取出。不存在再访问数据库,这样就提升了读取效率,减少后端数据库的访问压力。redis的缓存架构是高并发架构中非常重要的一环。

此外,一般应用对数据库而言都是“ 读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是采用数据库集群的方案,做主从架构、进行读写分离,这样同样可以提升数据库的并发处理能力。但并不是所有的应用都需要对数据库进行主从架构的设置,毕竟设置架构本身是有成本的。
如果我们的目的在于提升数据库高并发访问的效率,那么首先考虑的是如何优化SQL和索引,这种方式简单有效;其次才是采用缓存的策略,比如使用 Redis将热点数据保存在内存数据库中,提升读取的效率;最后才是对数据库采用主从架构,进行读写分离。

在这里插入图片描述

主从复制的作用

  1. 读写分离
    在这里插入图片描述

  2. 数据备份 通过主从复制将主库上的数据复制到了从库上,相当于是一种热备份机制,也就是在主库正常运行的情况下进行备份,不会影响到服务。

  3. 高可用性 数据备份实际上是一种冗余机制,通过这种冗余方式可以换取数据库的高可用性,也就是当服务器出现故障或宕机的情况下,可以切换到从服务器上,保证服务的正常运行。

主从复制的原理

Slave 从Master 读取binlog 来进行数据同步。
在这里插入图片描述
在这里插入图片描述
在进行主从复制时,先检查服务器是否开启二进制日志备份。默认情况下从机会执行所有主机中保存的事件,也可以通过配置,使从服务器执行特定的事件。

复制三步骤:
步骤1: Master 将写操作记录到二进制日志( binlog )。
步骤2: Slave 将Master 的binary log events拷贝到它的中继日志( relay log );
步骤3: Slave 重做中继日志中的事件,将改变应用到自己的数据库中。 MySQL复制是异步的且串行化的,而且重启后从接入点开始复制。

复制的基本原则:
每个Slave 只有一个Master
每个Slave 只能有一个唯一的服务器ID
每个Master 可以有多个Slave

一主一从架构

在这里插入图片描述

主从配置文件

1.主机配置

建议mysql版本一致且后台以服务运行,主从所有配置项都配置在[mysqld] 节点下,且都是小写字母。
vim /etc/my.cnf
具体参数配置如下:

#[必须]主服务器唯一ID
server-id=1
#[必须]启用二进制日志,指名路径。比如:自己本地的路径/log/mysqlbin
log-bin=mysql01-bin
#[可选] 0(默认)表示读写(主机),1表示只读(从机)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值