高级程序员必知必会,一文详解MySQL主从同步原理

1. MySQL主从同步完结方式

MySQL主从同步是根据Bin Log完结的,而Bin Log记载的是原始SQL句子。

Bin Log共有三种日志格式,能够binlog_format装备参数指定。

参数值意义
Statement记载原始SQL句子,会导致更新时间与原库安全工程师不一致。
比方 update_time=now()
R运维是什么意思ow记载每行数据的变化,架构师和程序员的差异确保了数据与原库一致,缺点是数据量较大。
M架构图模板ixedState架构是什么意思ment和Row的混合形式,默许选用Statement形mysql怎么读式,触及日期、函数相关的时分选用Row形式,架构师既减少了数据量,又确保了数据一致性。

常见的主从同步架构有一主多从架构工程师、双主多从。

高档程序员必知必会,一文详解MySQL主从同步原理

高档程序员必知必会,一文详解MySQL主从同步原理

2. My线程和进程的差异是什么SQL主从同步的效果

  1. 读写别离,提高数据库功能
  2. 容灾康复,主服务器不可用时,从服务器供给服务,进步可用性
  3. 冗余备份安全教育平台作业登录,主服务器数据损坏丢失,从服务器保留备份

一主多从架构:

一般是主库安全形式怎样免除担任一切架构师和程序员的区别读写恳求,而从库只担任容灾康复和冗余备份。

假如做了读写运维为什么没人干别离的话,主库担任写恳求,从库担任读恳求,能够提高数据线程库功能。

双主多从架构:

一般是主库1担任一切读写恳求,主库2不对外供给服务,只用来容灾康复。

比较一主多从安全期计算器架构,双主多从架构能够减少宕机时间,更快康复数据库可用状态。

3. 主动同步的原理

高档程序员必知必会,一文详解MySQL主从同步原理

  1. 当主库数据发生变更时,写入本地Bin Log文件

  2. 从库IO线程发起dump主库mysql怎样读Bin Log文架构是什么意思件的恳求

  3. MySQL库IO线mysql数据库程推送Bin Log文件到从库中

  4. 从库IO线程把B安全模式in Log内容写入本地的Relay Log文件中

  5. mysql安装装备教程库SQL线程读取Relay Log文件内容

  6. 从库架构图安全教育渠道登线程池的七个参数SQL线程重新履行一遍SQL句子

4. 主从同步推迟问题

主从同步最mysql密码忘记了怎么办常遇到的问题就是线程撕裂者主从同步推迟,能够经过在从库上履行show sl架构av安全线程数是什么出产法e statusmysql数据库令检查推迟时间,Seconds_Behind_M架构aster表明推迟的秒数。

高档程序员必知必会,一文详解MySQL主从同步原理

主从同步推迟的原因有哪些?

  1. 从库机mysql根底指令器功能较差

    主库担任一切读写恳求,从库只用来备份,会用功能较差的机器,履行时间自然较慢。

  2. 从库压安全期计算器力更大

    读写别离后,主库担任写恳求,从库担任读恳求。

    互联网运用一般读恳求更多,所以从库读压力更大,占用更多CPU资源。

  3. 网络推迟运维方与学者交流的途径是

    当主库的Bin Log文件往从库上发送时,线程或许发生网络推迟,也会导致从mysql索引库数据跟不上。

  4. 主库有大业务

    当主库上有个大业务需要履行5分钟,把Bin Log文件运维宝发送到线程数越多越好吗从库,从库至少也需要履行5分钟,所以这时分从库就出mysql数据库根底知识现了5分钟的推迟。

主从同步推迟的处理方mysql根底指令案?

  1. 从库机线程数越多越好吗器功能较差

    把从库换成跟主库平等标准的机器。

  2. 从库压力更大

    多搞几台从库,分架构是什么意线程数越多越好吗担读恳求压力。

  3. 网络推迟

    联络运维或许云服务供给商处理。

  4. 主库有大业务

    把大业务分割成小业务架构图怎样制造履行,大业务不但会发生从库推迟,还或许发生死锁,安全出产法降低数架构图模板据库并发功能,所以尽量少用大业务。

5. 怎么线程池的七个参数提高主从同步功能

1. 从库敞开多线程仿制

就是在主从同步的最终两步运用多线程,修正线程和进程的差异是什么装备 slm架构是什么意思ysql数据库指令大全ave_parallel_workers=4,代表敞开4个仿制线程。

高档程序员必知必会,一文详解MySQL主从同步原理

2. 修正架构图模板同步形式,改mysql安装配置教程为异步

主从同步共有三种仿制方式:

  1. 全同步仿制

    当主库履行完架构图怎样制造mysql面试题个业务安全期计算器,而且一切从库都履行完该事架构师务后,才给客户端回来成功安全期计算器

  2. 半同步仿制

    至少有一个从库履行完结后,线程和进程的区别是什么就给客户端回来成功。运维是做什么的

  3. 异步仿制

    主库履行完后,当即回来成功,不关心从库是否履行完结。

假如对数据mysql数据库根底知识安全性要求没那么高,能够把同步形式改成半同步仿制或许异步仿制。

3.架构 修正从库运维管理Bin Log装备

修正sync_binlog装备:

sync_bimysql面试题nlog=0 ,表明写binlog不安全出产法当即改写磁盘,由体系决定什么时分改写磁盘。

sync_binlog=线程安全1,每次写binlog都改写磁盘,安全性高,功能差。

sync_binlog=安全教育平台登录入口N,写N次binlog才改写磁安全教育平台登录入口盘。

从库对数据安全性要求没那么高,能够设置sync_binlog安全生产法=安全工程师0。

修正innodb_flush_log_at_trx_commit装备:安全教育平台登录

innodb_flush_log_at_trx_commit=0,每隔一秒钟,把业务日志改写到线程安全磁盘。

innodb_flush_log_at_trx_commi线程安全t=1,每次业务都改写到磁盘。

innodb_flush_log_at_trx_commit=2,每次业务线程数是什么都不主动改写磁盘,运维工程师由体系决定什么线程撕裂者时分改写磁盘。

从库对数据架构师证书安全性要架构图求没那么高,架构图能够设mysql密码忘记了怎么办置i架构nnodb_flush运维宝_log_at_trx_comm线程池的七架构工程师个参数it=mysql面试题2。

知识点总结:

高档程序员必知必会,一文详解MySQL主从同步原理

发表回复

提供最优质的资源集合

立即查看 了解详情