3_mysql 主从复制

mysql 主从复制

网易数据库 石勇

提纲

  • 什么是主从复制
  • 主从复制的原理
  • 主从复制的用途
  • 主从复制的搭建
  • 主从复制的问题

什么是主从复制

  • 数据拷贝
  • 准实时
  • 源-主节点;目的-从节点

主从复制的原理

master binary_log (I/O thread relay_log SQL thread)

复制格式

  • SBR statement based replication
  • RBR Row based replication
  • MBR Mixed based replication
    show global variable like "binlog_format";
    5.7之后 配置文件 默认为binlog_format =ROW

主从复制的用途

  • 实时灾备,用于故障切换
  • 读写分离,提供查询服务
  • 备份,在从节点上备份
  • 此外,主从复制的一些模式
    1.一主一从
    2.主主复制
    3.一主多从
    4.多主一从
    5.联级复制

主从复制的搭建

主从部署必要条件

  • 主库开启binlog日志(设置log-bin参数)
  • 主从server-id不同
  • 从库服务器能连接主库
    主从复制的部署
  • 备份还原(mysqldump 或 xtrabackup)
  • 授权 (grant repliction slave on ".")
  • 配置复制,并启动
  • 查看主从复制信息
show master statusG
show processlistG
show slave status 
几组log
 * master——log_file
 * read_master_log_pos
 * relay_log_file
 * relay_log_pos

主从复制的问题

存在的问题

  • 主库宕机,数据可能丢失
  • 从库只有一个sql thread ,主库写的压力大,复制很可能延时
    半同步复制 semi-sync
    并行复制:
  • 社区版5.6中新增
  • 并行复制是指从库多线程 apply binlog
  • 库级别并行应用binlog,同一个库数据更改还是串行的(5.7版并行复制基于事务组)
    *设置
set global slave_parallel_workers=10; #设置sql线程数为10
原文地址:https://www.cnblogs.com/li-volleyball/p/5429095.html