八、linux-mysql的mysql主从复制原理和实战
1.mysql主从复制介绍
mysql支持单向、双向、链式级联、实时、异步复制,在复制过程中,一台服务器充当主服务器(Master),而一个或多个其它服务器充当从服务器(Slave)。
复制:单向同步复制

复制:单向,一主多从复制

复制:双向,主主复制

复制:环向复制

此外,还有级联模式,就是主==>主==>从模式。
2. mysql主从复制应用场景
在当前的生产工作中,大多数应用的mysql主从同步都是异步的复制方式,即不是严格实时的数据同步。mysql主从复制有利于数据库架构的健壮性、提升访问速度和易于维护管理。
2.1 主从互为备份,主库有问题,可以切换到从库上继续提供服务
mysql 主从同步做不到一条数据不丢,要做到主从切换一条数据不丢,有多种方案,这里主要说明4种:
1)mysql自身有一个插件,讲主从同步从异步变成半同步,即实时同步。往主库写数据,当从库也写完毕,才是主从同步成功,否则两个都不成功。
2)切换到从库时,讲主库的bin_log日志在从库中执行一遍
3)从程序上下功夫,讲主库实时一分钟的数据写到程序上,同步到从库上
4)双写功能,既写主库又写从库
2.2 读写分离,主写,读从
中小公司:通过程序
门户网站:分布式dbproxy(读写分离、hash负载均衡,健康检查)
2.3 根据服务器拆分业务独立并分担压力
许多公司都是一主多从,主库写,从库不同服务器兼顾不同业务,如果主挂了,可以迅速手工或者自动切换。从库间可以实现集群,可以不同人员访问不同机器等。
3.mysql主从同步的基本结构

可以看到:

4.4.建立用于同步的账户rep
3) show master log; --现有的master-data

MASTER_HOST='192.168.0.104',---主库地址
MASTER_PORT=3306,--主库端口
MASTER_USER='rep',--主库用户
MASTER_PASSWORD='oldboy124', --主库密码
MASTER_LOG_FILE='mysql-bin.000003', --下次同步的起始页面 ,如果备份参数是--master-data=1,可以去掉
MASTER_LOG_POS=343; --下次同步的起始位置 ,如果备份参数是--master-data=1,可以去掉
/data/3307/data/master.info--如果主库不断更新,则bin_log不断更新,从库会不断更新这个内容的起始位置
至此,当主库发生增删改的时候,从库相应的进行同步!!!
八、linux-mysql的mysql主从复制原理和实战的更多相关文章
- MySQL(4):主从复制原理
1.主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群架构的基础.它通过将一台主机的数据复制到其他一台或多台主机上,并重新应用relay log中的SQL语句来实现 ...
- 彻底搞懂Redis主从复制原理及实战
欢迎关注公众号:「码农富哥」,致力于分享后端技术 (高并发架构,分布式集群系统,消息队列中间件,网络,微服务,Linux, TCP/IP, HTTP, MySQL, Redis), Python 等 ...
- Apache Flink 进阶(八):详解 Metrics 原理与实战
本文由 Apache Flink Contributor 刘彪分享,本文对两大问题进行了详细的介绍,即什么是 Metrics.如何使用 Metrics,并对 Metrics 监控实战进行解释说明. 什 ...
- MySQL主从复制原理及配置过程
一.Mysql数据库的主从复制原理过程: (多实例的安装请参考我的另一篇文章:https://www.cnblogs.com/Template/p/9258500.html) Mysql的主从复制是一 ...
- 深入解析Mysql 主从同步延迟原理及解决方案
MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以 ...
- MySql主从复制原理和环境配置搭建
主从复制原理 实质就是通过二进制的sql文件实现主从复制 MySQL的主从复制是MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现,其复制功能并不是copy文件来实现的,而是借助binlo ...
- Linux下配置MySQL主从复制
一.环境准备 本次准备两台Linux主机,操作系统都为CentOS6.8, 都安装了相同版本的MySQL.(MySQL5.7). 主从服务器的防火墙都开启了3306端口. 相关信息如下: [主服务器] ...
- Linux - centos7 下 MySQL(mariadb) 和 主从复制
目录 Linux - centos7 下 MySQL(mariadb) 和 主从复制 MySQL(mariadb) 安装MySQL(mariadb) 配置数据库的中文支持 在远程用 mysql客户端去 ...
- 【MySQL主从复制原理及搭建全过程】
目录 准备工作 主从复制原理 开始搭建主从复制 本文将使用mariaDB数据库实现主从复制,其步骤与MySQL数据库无差异. MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护, ...
随机推荐
- ZOJ 2301/HDU 1199 线段树+离散化
给这个题目跪了两天了,想吐简直 发现自己离散化没学好 包括前一个离散化的题目,实际上是错了,我看了sha崽的博客后才知道,POJ那题简直数据弱爆了,本来随便一组就能让我WA掉的,原因在于离散化的时候, ...
- C++ spdlog日志管理
[1]spdlog简介 spdlog是一个开源的.快速的.仅有头文件的基于C++11实现的一款C++专用日志管理库. [2]源码下载 下载地址:https://github.com/gabime/sp ...
- 2019.11.18CTFD搭建记录
### 0x01 实验室纳新,准备在自己服务器搭建个ctfd给新生们玩玩,忙活了一天orz[大一刚开学就搭建过没这么费力啊..] 现在大二了没想到能折腾一天... 直接说下我踩的坑吧,给后来的人们说说 ...
- Try setting a different JdbcType for this parameter or a different configuration property. Cause: org.postgresql.util.PSQLException: 栏位索引超过许可范围:2,栏位数:1
执行mybaits sql <delete id="delete4BatchesByLineCi" parameterType="java.util.List&qu ...
- Java反射--getDeclaredField()和getField()
Field getField(String name) 返回当前类以及所继承的类的所有public修饰的成员变量 Field getDeclaredField(String name) 返 ...
- 2. 现代 javascript 新语法 及 对象专题
let , const 和 var javascript 里面的作用域 一个大括号 是一个作用域 { } var 会 在局部作用定义 被定义时 会提升作用域 如 if 的 {} 就属于 局部作用域 ...
- leetcode 690.员工的重要性
题目: 给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id. 比如,员工1是员工2的领导,员工2是员工3的领导.他们相应的重要度为15, 10, 5.那么员工1的数据结 ...
- 题解 P1829 【[国家集训队]Crash的数字表格 / JZPTAB】
题目 我的第一篇莫比乌斯反演题解 兴奋兴奋兴奋 贡献一个本人自己想的思路,你从未看到过的船新思路 [分析] 显然,题目要求求的是 \(\displaystyle Ans=\sum_{i=1}^n\su ...
- 题解 P4942 【小凯的数字】
题目 为什么看到很多题解区的 dalao 都用逆元?是我太菜了吧 [分析] 首先,根据弃九验算法的原理,显然可以得到:一个 \(n\) 位数 \(a_1a_2a_3\dots a_n\equiv a_ ...
- 黑马_13 Spring Boot:05.spring boot 整合其他技术
13 Spring Boot: 01.spring boot 介绍&&02.spring boot 入门 04.spring boot 配置文件 05.spring boot 整合其他 ...