zoukankan      html  css  js  c++  java
  • MySQL复制的基本概念和实现

    MySQL的复制的概念是完成水平扩展的架构

    MySQL性能方面的扩展方式有scale on(向上扩展,垂直扩展)

                             scale out(向外扩展,水平扩展)

    MySQL保存二进制日志:

    statement:基于语句模式

    row:基于行模式

    mixed:混合模式

    MySQL复制默认为异步工作模式

    SLAVE:IO thread:向主服务请求二进制日志中的事件

           SQL thread:从中继日志读取事件并在本地执行

    MASTER:binlog dump:将IO thread请求的事件发送给对方

    工作架构:

    从服务器:有且只能有一个主服务器

    MariaDB-10:支持多主模型,多源复制(multi-source replication)

    一主多从:

    读写分离:主从模型下,让前端分发器能识别读/写,并且按需调度至目标主机

    读写分离的中间件有amoba:变形虫

                          mysql-proxy:不稳定

    双主模型:master-master

    1.必须设定双方的的自动增长属性,以避免冲突

      auto_increment_increment = #

      设定起始值

      auto_increment_offset = 2

      设定步长

    2.数据不一致:

      功用:均衡读请求:写请求双方一样

    示例:主从复制的配置

    版本

    1.双方的MySQL要一致

    2.如果不一致:主的要低于从的

    从哪儿开始复制:

    1.都从0开始

    2.主服务器已经运行一段时间,并且存在不小的数据集,把主服务器备份,然后再从服务器恢复,从主服务器上备份处的位置开始复制

    配置过程:

    主服务器:

    1.改server-id

    2.启用二进制日志

    3.创建有复制权限的账号

    grant replication slave,replication client on *.* to 'uername'@'hostname' identified by 'password'

    flush privileges

    从服务器:

    1.给server-id

    2.启用中继日志

    relay-log = /mydata/relaylogs/slave-bin

    3.连接主服务器

    连接主服务器命令:change master to

    | MASTER_HOST = 'host_name' 主服务器地址

    | MASTER_USER = 'user_name' 以那个用户的身份复制

    | MASTER_PASSWORD = 'password'密码

    | MASTER_PORT = port_num端口

    4.启动复制线程

    START SLAVE;

     

  • 相关阅读:
    安卓自己定义View进阶-Canvas之绘制基本形状
    IOS UIPickView+sqlite 选择中国全部城市案例
    linux的主分区与逻辑分区的关系
    Qt:解析命令行
    Firefox默认英文修改中文
    autofs自动挂载
    telent对端口检测状态分析
    WinRAR5.4
    Centos6.5入侵清理
    Win10激活KMS
  • 原文地址:https://www.cnblogs.com/fansik/p/5567647.html
Copyright © 2011-2022 走看看