美文网首页
mysql的主从复制

mysql的主从复制

作者: 北你妹的风 | 来源:发表于2017-03-08 18:59 被阅读8次

这篇文章从三方面描述:主从复制的用途?如何实现主从复制?主从复制原理?

一、主从复制的用途

用途一:数据库备份 。从数据库会建立一个和主数据库一样的数据环境,当主数据发生故障时或数据丢失时,从数据库可以代替主数据继续工作,减少损失。

用途二:读写分离。根据28定律,大部分的互联网应用80%是读操作,20%是写操作。通过读写分离,把原来所有操作都集中在主服务器上,变为写操作在主服务器上,读操作在从服务器上,缓解了主数据库的压力,从而提高应用的整体性能。

从系统架构上来说,基本上还是那两个术语:高可用,高性能。

二、如何实现主从复制

这里我不过多的描述,如何实现mysql的主从复制,网上一搜一大堆,照着说明一步一步做就行了。主要描述一下容易出问题的地方;

1.主服务器在创建有复制权限的用户时,注意语句里面的参数。

完整的语句如下:grant replication slave  on *.*  to   username@slave_ip identified by 'password'

username :创建的账户名,这个账户主要用来主从复制使用的,最好不要用root

@后面跟的是从服务器的ip地址,这是为了安全起见;也可以写成%,表示任意ip的从服务器都可访问。

这里要注意一点,主从服务器之间的网络一定要是通的,可以用ping命令测试。

2.从服务器使用 change master to语句实现复制主库。这个语句里面要注意master_log_file和master_log_pos这两个参数 ,这两个参数的值是主库的系统状态值,用show master_status语句查看。

需要注意的是:重启mysql服务能改变主服务器master_log_file的值,主库的操作能改变master_log_pos的值,所以如遇到同步错误,可以检查一下主服务器的状态值,再同步从库。

3.要会看懂从服务器的状态。语句为 show slave status,两个参数比较重要:

Slave_IO_Running,Slave_SQL_Running。看从服务器是否复制成功,需要这两个参数的值都必须为YES,一个为NO都意味着复制失败。 密码错误,网络不通,主服务器binlog文件位置不对等等。

三、讲一下主从复制的原理

主服务器把操作日志写导二进制文件中(binlog),从服务器开启两个线程,一个是IO线程,用来向主服务器请求二进制中发生的事件,写到自身中继日志中(relay_log)。然后从服务器再启动一个SQL线程,执行中继日志中的事件,就得到和主服务器中一样的数据了。上图:

这两个线程其实就是上面提到的Slave_IO_Running,Slave_SQL_Running。

相关文章

  • MySQL如何配置主从复制,如何修复主从复制出现的异常?

    MySQL如何配置主从复制,如何修复主从复制出现的异常? 一、什么是Mysql主从复制 MySQL主从复制是其最重...

  • MySQL-主从复制&读写分离

    零、本文纲要 一、MySQL主从复制 主从复制 主从复制过程 配置主从复制 二、MySQL读写分离 读写分离 Sh...

  • mysql主从复制

    构建MySQL主从复制 MySQL的主从复制和mysql的读写分离两者有着紧密联系,数据的读写分离实在主从复制的基...

  • Mysql 主从复制

    Mysql 主从复制 MySQL Replication 主从复制(也称 AB 复制)允许将来自一个MySQL数据...

  • 主从复制 & MHA

    一,mysql主从复制 (1)场景一(主从复制 _ 全新环境下) (2)场景二(主从复制 _ mysql已经使用一...

  • Spring Data JPA 使用主从数据源

    Mysql 配置主从复制 参考:Mysql主从复制-半同步复制[https://www.jianshu.com/p...

  • 【转】MySQL 8.0复制改进

    1 - MySQL主从复制模型 我们从最基本的主从复制模型开始说起,下图是最经典的MySQL主从复制架构图: My...

  • MySQL集群篇

    1 集群之主从复制 1.1 主从复制概述 MySQL主从复制也可以称为MySQL主从同步,它是构建数据库高可用集群...

  • 深度探索MySQL主从复制原理

    概要 MySQL Replication (MySQL 主从复制) 是什么? 为什么要主从复制以及它的实现原理是什...

  • MySQL主从复制 - mage

    MySQL 主从复制 MySQL主从复制具体的过程为master启动dump线程,和slave的IO的线程建立连接...

网友评论

      本文标题:mysql的主从复制

      本文链接:https://www.haomeiwen.com/subject/wfvbgttx.html