Chinaunix首页 | 论坛 | 博客
  • 博客访问: 169660
  • 博文数量: 31
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-28 06:36
个人简介

还在学习oracle的路上。

文章分类

全部博文(31)

文章存档

2020年(9)

2018年(3)

2017年(6)

2016年(11)

2015年(2)

我的朋友

分类: Mysql/postgreSQL

2020-03-18 22:15:48

随着互联网技术的迅猛发展,现在逐步渐入大数据、云计算、虚拟技术和人工智能时代,技术为王的现象越来越明显了。MySQL数据库主从复制的原理是啥?MySQL应该怎么学??

1.change master to 时,ip pot user password binlog position写入到master.info进行记录

2. start slave 时,从库会启动IO线程和SQL线程

3.IO_T,读取master.info信息,获取主库信息连接主库

4. 主库会生成一个准备binlog DUMP线程,来响应从库

5. IO_T根据master.info记录的binlog文件名和position号,请求主库DUMP最新日志

6. DUMP线程检查主库的binlog日志,如果有新的,TP(传送)给从从库的IO_T

7. IO_T将收到的日志存储到了TCP/IP 缓存,立即返回ACK给主库 ,主库工作完成

8.IO_T将缓存中的数据,存储到relay-log日志文件,更新master.info文件binlog 文件名和postion,IO_T工作完成

9.SQL_T读取relay-log.info文件,获取到上次执行到的relay-log的位置,作为起点,回放relay-log

10.SQL_T回放完成之后,会更新relay-log.info文件。

11. relay-log会有自动清理的功能。

细节:

1.主库一旦有新的日志生成,会发送“信号”给binlog dump ,IO线程再请求

想要众多的IT工作者中脱颖而出,就需要拥有高深的技术,学习增值是必不可少的。学习之路,是贵在坚持的。

阅读(8111) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~