• MySQL数据库主从同步


    一、主从同步的原因


     

       为了减轻服务器处理海量并发访问所产生的性能问题,其中最主流的方案之一就是读写分离。

    二、MySQL主从同步流程图


                           

    三、主从库如何同步


     1、 Master主服务器将对数据的操作记录到二进制日志中(Binary log),MySQL将事务串行(交叉执行)的写入二进制日志;

     2、Slave从服务器将二进制日志(Binary log)copy到中继日志当中(Relay log)。首先,slave开始一个工作线程——I/O线程。

    • slave开始一个工作线程——I/O线程。I/O线程在master上打开一个普通的连接;
    • 开始binlog dump process;
    • 如果binlog dump process已经跟上master,它会睡眠并等待master产生新的事件。
    • I/O线程将这些事件写入中继日志;
    •  SQL slave thread(SQL从线程)从中继日志读取事件,并重放其中的事件而更新slave的数据,使其与master中的数据一致

                                                                          

    四、为什么需要中继日志(Relay log)


     由于网络等原因,Binary log不可能一口气存到 I/O thread中,所以Relay log中用来缓存Binary log的事件。(Relay log存储在从服务器slave缓存中,开销比较小)

    五、需要注意的点


    • master和slave连接,slave会在master中打开一个连接,使得master也开始一个线程;
    • 复制在slave上是串行化的,即master上的并行更新操作不能在slave上并行操作

    六、主从同步优点


    •   主库写,从库读,降低服务器压力;
    •   在从主服务器进行备份,避免备份期间影响主服务器服务,保证数据安全;
    •   当主服务器出现问题时,可以切换到从服务器,提高性能

    七、主从同步数据库设置


    1、连接上MySQL

     2、在主服务器Master中做相关配置

    设置server-id,log-bin,log-bin-index

    重启主服务器数据库

    show master status

    创建repl账户并赋给权限,并刷新

    3、从服务器进行相关配置

    修改配置文件

    设置server-id,relay-log-index,relay-log

    重启从服务器数据库

    进行设置

    start slave

    show slave status (/G,将内容竖向显示)

    4、验证

    主库File和position与从库一致,则证明主从同步了

    5、(附加)数据库可设置一个用来远程访问的账户(%代表远程访问)

  • 相关阅读:
    php 构造函数支持不同个数参数的方法
    浅谈管理系统操作日志设计(附操作日志类)
    PHP 远程文件下载的进度条实现
    PHP处理大文件下载
    c语言线性表
    c语言题目:找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点
    c语言:从一组数据中选出可以组成三角形并且周长最长的三个数(简单)
    关于Staruml与powerdesigner启动使用中的问题
    Win7下安装Apache+PHP+MySQL
    <转>java编译问题:使用了未经检查或不安全的操作
  • 原文地址:https://www.cnblogs.com/hoje/p/11944556.html
Copyright © 2020-2023  润新知