mysql 带宽测试,mysql 带宽测试【复制系列】基于文件和位置的 传统复制

前言

基于日志文件和位置的 传统复制,是根据binlog文件和master_log_position确定复制的。

传统复制的原理

在master上,线程:dump_thread ;日志:binlog。

在slave上,线程:

第二电脑网认为此文章对《mysql 带宽测试【复制系列】基于文件和位置的 传统复制》说的很在理。IO_thread和 SQL_thread;日志:relay log。

1、在主库master中,记录二进制日志

在事务准备提交前,主库将更新的事件记录到binlog中,然后事务提交。注意,在binlog文件记录的事务均是按照事务提交顺序来记录的。

2、从库将主库的binlog复制到自己的relay log中

从库中的IO_thread 与主库建立一个连接,在主库,每当有新事件时,dump_thread会读取该事件,并发送给IO_thread,IO_thread 将接收到的事件记录在从库的relay log中。

3、SQL_thread 执行复制过来的事件

从库中的SQL_thread会执行relay log中记录的事件,以此更新从库的数据。但是,SQL_thread是否会将执行的事件记录到本地的binlog中,由参数log_slave_updates控制。

传统复制的搭建

机器环境:

以 一主一从为例。

Master IP: 172.16.100.100

Slave IP: 172.16.100.101

两机器均已安装MySQL。

配置步骤:

# 主库(master)

在 my.cnf 中添加 or 修改:

server-id=1003306      #  IP最后一个字段+端口号

log-bin=/data/mysql/mysql3306/mysql-bin

binlog_format = row

在mysql中创建复制使用的账户:

mysql> create user 'repl'@'172.16.100.101' identified by '123123';

mysql> grant replication slave on *.* to 'repl'@'172.16.100.101' ;

mysql> show master status\G

# 从库(slave)

在 my.cnf 中添加 or 修改:

server-id=1013306       #  IP最后一个字段+端口号

log-bin=/data/mysql/mysql3306/mysql-bin

binlog_format = row

log_slave_updates        # 使从库产生binlog,若不配置,即使开启log-bin参数,也不会产生binlog,若不需要binlog,则不用配置该参数

使 从库 指向 从库(保证该操作之前复制线程已停止!)

mysql>change master to master_host='172.16.100.100',master_user='repl',master_password='123123',master_log_file='mysql-bin.000001',master_log_pos=330;

# 开启和关闭复制(在从库操作)

start slave;       # 开启复制

show slave status\G              # 查看复制情况

解读 show slave status 的主要字段

Master_Log_File:IO thread 当前在读的主库binlog文件

Read_Master_Log_Pos:IO thread 已读到的主库binlog的位置

Relay_Log_File:SQL thread 正在读取的relay log文件

Relay_Log_Pos:SQL thread 已读取的relay log中的位置

Relay_Master_Log_File:SQL thread最近执行的事件 所在主库的binlog文件

Slave_IO_Running:IO thread 是否在运行(必须为Yes,否则有问题)

Slave_SQL_Running:SQL thread 是否在运行(必须为Yes,否则有问题)

Replicate_Do(Ignore)_DB:在复制时,复制或忽略复制的库

Last_Errno/Last_Error:错误码/错误说明;通常主从报错时在这里显示错误的原因

Exec_Master_Log_Pos:705904595     # SQL thread已执行事件的主库binlog的位置,也标志 将要处理下一个事件或事务的开始;通常这个位置在主库对应binlog文件中是这样的:

……

#170713 15:52:16 server id 1003306 end_log_pos 705904595 CRC32 0xaee2b643 Xid = 5191672348

COMMIT/*!*/;

# at 705904595

#170713 16:02:10 server id 1003306 end_log_pos 705904674 CRC32 0x97e59f40 Query thread_id=1442126 exec_time=0 error_code=0

SET TIMESTAMP=1499932930/*!*/;

BEGIN

/*!*/;

……

Seconds_Behind_Master:从库正在处理事件时,此时从库的时间戳 与 正被处理的事件在主库上记录的时间戳的差值(单位为秒)。实际上,该值测量的是SQL 线程和IO线程之差,在主从的网络很好的情况下,从库的IO线程和主库很接近,SQL线程和IO线程之差 也就近似 SQL线程和主库之差(即是第一句的意思),因此,

更多:mysql 带宽测试【复制系列】基于文件和位置的 传统复制

https://www.002pc.comhttps://www.002pc.com/mysql/4315.html

你可能感兴趣的复制,基于,系列,文件,位置,传统

js 实体字符nodejs基于express实现文件上传的方法

本文实例讲述了nodejs基于express实现文件上传的方法。分享给大家供大家参考,具体如下:

前段时间在做个人项目的时候,用到了nodejs服务端上传文件,现在回头把这个小结一下,作为记

js如何使用href基于JS模仿windows文件按名称排序效果

002pc.com对《基于JS模仿windows文件按名称排序效果》总结来说,为我们网

解读ASP.NET 5 & MVC6系列(12):基于Lamda表达式的强类型Routing实现

前面的深入理解Routing章节,我们讲到了在MVC中,除了使用默认的ASP.NET 5的路由注册方式,还可以使用基于Attribute的特性(Route和HttpXXX系列方法)来定义。

asp.net 文件取得《WCF技术剖析系列》系列技术文章整理收藏

《WCF技术剖析系列》系列技术文章整理收藏 WCF技术剖析系列来自博客园的Artech,Artech在这个系列中帮助大家对WCF有更全面的认识。收藏在这里供大家学习参考   1WCF技

修改linux时区linux命令-文件处理命令

1,创建带空格的文件(不建议这样命名)touch "name1_name2"注意:在对这个文件进行删除、复制、剪切等时,都必须带上引号语法: touch [文件名]2,显示文件内容(

python模块的子模块python文件操作-读写删除复制总结

1. read三种不同的方式f = open('hello.txt')  #'hello.txt'指的是文件的名称while True:    text = f.readline

xp如何知道是否双通道Win7系统如何获取文件路径

先在Win7的资源管理中找到目标文件或者文件夹,然后按住Shift键,用鼠标右键点击目标文件或者文件夹,在右键菜单中选择“复制为路径”,这个文件和或者文件夹的完整路径就

移动硬盘4tb xp提高系统文件移动速度的方法

在Win XP操作系统中,进入任意一个文件夹中,选中一个文件,在窗口左边的“文件和文件夹任务”面板中可以看到“复制这个文件”和“移动这个文件”两条命令。利用两条命令

asp.net net mail 和 web mailasp.net下将图片保存到XML文件的方法

一.保存图片到XML文件 复制代码 代码如下: /// /// 保存图片到XML文件 /// private void UploadImageToXml

0踩

0 赞

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值