IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL主从复制原理、特点和常见架构学习笔记 -> 正文阅读

[大数据]MySQL主从复制原理、特点和常见架构学习笔记

写在前面:以下内容为腾讯NEXT公开课有关课程的学习笔记。课程链接如下:
https://www.bilibili.com/video/BV1oJ411z7bf?p=1

一、MySQL主从复制的特点和工作原理

1、主从复制的特点

  • 异地备份数据
  • 提供数据修改的回滚窗口期
  • 部署高可用集群
  • 实现数据库读写分离
  • 不能保证主从数据库的完全同步
  • 不能代替数据库备份
  • 不能降低主库的写负载

2、主从复制的工作原理

主从复制原理

二、MySQL二进制日志的作用

2、二进制日志的作用

  • 记录所有对数据库中数据的修改操作
  • 用于数据库的增量备份和基于时间点的恢复
  • 用于实现MySQL主从复制

3、二进制日志的格式

1)基于SQL段的格式(–binlog-format=STATEMENT)

基于SQL段的格式的binlog
特点

  • 日志中记录的就是修改数据时所使用的的SQL语句
  • 在主从复制环境中,从数据库重新执行相应的SQL语句以完成数据同步
  • 日志记录相对来说较少

读取

mysqlbinlog --start-datetime="[start-time]" --stop-datetime="[stop-time]" Binlogfile

2)基于行的二进制日志格式(–binlog-format=ROW)

基于行的日志格式
特点

  • 记录对数据行所做的实际修改
  • 在主从复制环境中,从数据库直接应用对数据行的修改
  • 对每一行日志的修改都会有一条日志记录,所以日志量比较大

读取

mysqlbinlog --base64-output=decode-rows -v -v --start-datetime="[start-time]" --stop-datetime="[stop-time]" Binlogfile
## 第一个-v表示把ROW格式日志解析为SQL语句
## 第二个-v表示在SQL语句或者那个以备注的形式显示列的类型

3)段和行混合的日志格式(–binlog-format=MIXED)

结果确定SQL存储为基于段的格式
结果非确定SQL存储为基于行的格式

三、二进制日志常用配置参数

  • log-bin [=base_name][/data/sql-log/mysql-bin]
  • binlog_format = [ROW | STATEMENT | MIXED]
  • binlog_expire_logs_seconds = 二进制过期秒数
  • binlog_row_image = [FULL | MINIMAL | NOBLOB]
  • binlog_rows_query_log_events = [ON | OFF]

四、MySQL主从复制配置步骤

主数据库从数据库
开启binlog及GTID开启binlog及GTID(可选)
建立同步数据库账号用备份初始化从数据库数据
备份主数据库数据配置复制链路
把备份文件传到从服务器启动复制链路

五、MySQL备份

1、数据库备份在主从复制集群中的作用

用于灾难恢复,保证数据的安全性

2、数据库备份的类型

1)逻辑备份

  • 通过导出数据库中的数据和数据库对象所进行的备份。
  • 可用于跨数据库版本恢复
  • 由于恢复时需要重新导入数据库对象所以恢复数据库所需时间较长

2)物理备份

  • 通过直接备份数据库的数据文件进行的备份
  • 只能在同备份版本实例相同的数据库实例上进行恢复
  • 由于是直接复制数据文件所以恢复时间较短

3、命令行工具mysqldump

## 备份某个或几个数据库
mysqldump -u [user] -p [passwd] --databases [db1] [db2] > backup.sql

## 备份所有数据库
mysqldump -u [user] -p [passwd] --all-databases > backup.sql

--master-data=[1,2] 记录备份时数据库二进制日志的偏移量
--max-allowed-packet 指定MySQL服务器最大允许的SQL包的大小
--single-transaction 在一个单独的事物中完成备份
--set-gtid-purged=OFF 不备份gtid信息

六、常见主从复制架构

1、一主一从

一主一从

2、一主多从

主数据库中存在多个binlog线程,为各个从数据进行binlog文件复制。
一主多从

3、级联复制

级联复制架构中存在多个主数据库,主数据库中需要维护不同的数据表,避免从数据库中出现数据冲突。
级联复制架构

4、多主复制

主库之间需要维护不同的数据表,避免从数据库上出现数据冲突。
多主复制

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 11:51:37  更:2021-10-08 11:53:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:10:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码