60.mysql主从的相关知识

  • MYSQL主从作用大致分为数据备份和负载均衡两类
    Master 节点,负责所有的「写请求」
    Slave 节点,负责大部分的「读请求」;
    MySQL 的主从复制:异步单线程。
    实现的具体逻辑方法:
    Master上 1 个IO线程,负责向Slave传输 binary log(binlog)
    Slave上 2 个线程:IO 线程和执行SQL的线程,其中:
    IO线程:将获取的日志信息,追加到relay log上;
    执行SQL的线程:检测到relay log中内容有更新,则在Slave上执行sql;
    1. 复制类型分为两类,一种是记录主数据库的操作sql,然后在从数据库执行;另一种是将主数据库中数据的变动记录为set语句,用set命令对从数据库进行行的更新;
    2. 主从同步出错时,有两种方法解决
      解决方法一:跳过一步错误,继续进行同步

    msyql> stop slave;

    msyql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

    msyql> start slave;
    方法二:重做主从
    msyql> stop slave;

    #查看主服务器上当前的 bin-log 日志名和偏移量

    msyql> show master status;

    #然后到从服务器上执行手动同步
    4.对主数据库的操作要注意

    • 不要用系统命令复制或删除表数据文件,要用sql命令进行数据修改与表修改、创建或者删除,不然会影响从数据库,造成主从失败;

    5.Mysql主从复制常见故障及解决方法
    http://www.10tiao.com/html/706/201603/403220961/1.html
    6.查看主从延迟的方法

    • 主从延时时间:Master 执行成功,到 Slave 执行成功,时间差
    • show slave status,通过比较SQL THREAD接受events时间的时间戳与IO THREAD执行事件events时间戳的差值--秒数,来确定slave落后于master多少
    • 使用pt-heartbeat工具
      http://f.dataguru.cn/thread-461916-1-1.html
      7.同步复制
    • 主数据库数据写入完毕之后,在从数据库也将数据写入之后,主数据库才会向客户端返回数据写入成功
      异步复制
    • 主数据库写入之后,从数据库随后更新,只要求数据最终一致,允许延迟存在
      8.主从延迟的影响
    • 主从数据不一致,灾备系统失效,负载均衡失效,降低系统性能
      9.常见的主从延迟原因:
      Master 上,大事务,耗时长:优化业务,拆分为小事务
      Master 上,SQL 执行速度慢:优化索引,提升索引区分度(事务内部有查询操作)
      Master 上,批量 DML 操作:建议延迟至业务低峰期操作
      Master 上,多线程写入频繁, Slave 单线程速度跟不上:提升 Slave 硬件性能、借助中间件,改善主从复制的单线程模式

    原文地址:http://blog.51cto.com/13569831/2117745

    时间: 2024-10-02 05:58:34

    60.mysql主从的相关知识的相关文章

    MySQL引擎的相关知识

    MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引 擎:ISAM.MYISAM和HEAP.另外两种类型INNODB和BERKLEY(BDB),也常常可以使用.如果技术高超,还可以使用MySQL++ API自己做一个引擎.下面介绍几种数据库引擎:     ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到 数据库被查询的次数要远大于更新的次数.因此,ISAM执行读取操

    SQL Server 与MySQL中排序规则与字符集相关知识的一点总结

    原文:SQL Server 与MySQL中排序规则与字符集相关知识的一点总结 字符集&&排序规则 字符集是针对不同语言的字符编码的集合,比如UTF-8字符集,GBK字符集,GB2312字符集等等,不同的字符集使用不同的规则给字符进行编码排序规则则是在特定字符集的基础上特定的字符排序方式,排序规则是基于字符集的,是对字符集在排序方式维度上的一个划分.排序规则是依赖于字符集的,一种字符集可以有多种排序规则,但是一种排序规则只能基于某一种字符集的比如中文字符集,也即汉字,可以按照“拼音排序”.“

    mysql主从复制延迟问题的相关知识与解决方案

    一.如何监控发生了主从延迟? 在从库机器上,执行show slave status,查看Seconds_Behind_Master值,代表主从同步从库落后主库的时间,单位为秒,若同从同步无延迟,这个值为0. Mysql主从延迟一个重要的原因之一是:mysql是以单线程串行执行. 主从复制数据时,在从服务器上的mysql,是一个线程在同步数据. 串行的方式,它是指,执行一个后才继续执行下一个.如果一个卡住了,要等待时间,才会继续下一个.串行与并行是相反的. 二.同步延迟发生的场景 当主库的TPS并

    MySQL主从同步实验

    MySQL的主从复制方案,是数据的传输.只不过MySQL无需借助第三方工具,而是其自身同步复制的功能,另外一点,MySQL的主从复制并不是磁盘上直接同步,而是逻辑binlog日志同步到本地再应用执行的过程. 一.MySQL主从同步的简要操作过程: 1)从库开启两个线程,分别是IO线程和SQL线程,而主库只开启有一个IO线程 2)在从库上配置连接主库的IP地址.端口号.用同步的用户名.密码.准备更新的二进制文件名字.和准备更新的位置点(pos点,即从那个位置点开始更新) 3)在启动slave-id

    趁一切还来得及【五】数据库MySQL主从同步的实践部署

    自笑栖迟淮海客,十年心事一灯前.                                           --[元]萨都拉 第二章 数据库MySQL主从同步部署操作实践 2.1 数据同步相关应用基础 ①MySQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的部署管理也就显得非常重要. ②MySQL主从同步的作用:(1) 数据分布,(2) 负载平衡(load balancing),(3) 备份,(4) 高可用性(high availability

    高性能Mysql主从架构的复制原理及配置详解

    1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收

    2-18,19 搭建MySQL主从服务器并并通过mysql-proxy实现读写分离

    MySQL主从服务器 实现方式: MySQL  REPLICATION Replication可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave) 默认情况下这种情况属于异步复制,无需维持长连接 通过配置,可以复制所有库或者几个库,甚至库中的一些表 它是MySQL内建的,自带 Replication的原理 主服务器master将数据库的改变写入二进制日志文件,从服务器slave同步这些二进制日志,并生成中继日志,从服务器根据中继日志,执行这些改变 DML:S

    高性能Mysql主从架构的复制原理及配置详解(转)

    温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取

    转:高性能Mysql主从架构的复制原理及配置详解

    温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取