大厂高频讲一下MySQL主从复制

公益中国援助定点白癜风医院 https://m.39.net/disease/a_5496912.html

大家经常听说主从复制,那么主从复制的意义?能解决的问题有哪些?主从复制能解决的问题就是在我们平时开发的程序中操作数据库的时候,大多数的情况查询的操作大大超过了写的操作,也就说对数据库读取数据的压力比较大的问题,为了保证数据库操作的效率,我们一般把读的操作放在一个数据库执行(从库),比较耗时与频繁I/O的操作放在另外一个数据库(我们称之为主库);这样做的意义就是减轻主库操作的压力,主从库可以各行其事,提高了数据库的操作效率!

一、主从复制的原理

主库会生成一个I/O操作线程进去写的的操作,而从库则生成两个线程,其一是I/O读取线程,其二是一个SQL线程。

总结如下三点:

1、主库将数据的操作记录到一个二进制日志中(即:binarylog),也就是配置文件中指定的log-bin指定的文件就是日志文件。

2、从库将主库的日志文件拷贝到他的中继日志即配置文件中指定的relaylog日志文件中,I/O线程去请求主库的bin-log日志,并将日志写入到relaylog中继日志中,此时主库会生成一个logdump线程,用来给从库I/O线程传输bin-log日志件。

3、从库会更新relaylog文件中的操作,将数据的改变在从库中进行数据重演即重新执行一次,即SQL线程执行操作,将日志文件中的记录变为数据操作行为再次执行,以达到主从数据最终一致性的目的。

二、主从复制原理图

注意

需要注意的是主从复制需要大量的I/O操作,所以延时是不可避免的。

三、准备工作

准备两台服务器(模拟一主一从),并安装相同版本的MySQL数据库。

主库(master)


转载请注明:http://www.aierlanlan.com/cyrz/8061.html

  • 上一篇文章:
  •   
  • 下一篇文章: