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;

     

  • 相关阅读:
    Android OpenGL ES 2.0 (四) 灯光perfragment lighting
    Android OpenGL ES 2.0 (五) 添加材质
    冒泡排序函数
    javascript object 转换为 json格式 toJSONString
    Liunx CentOS 下载地址
    jquery 图片切换特效 鼠标点击左右按钮焦点图切换滚动
    javascript 解析csv 的function
    mysql Innodb Shutdown completed; log sequence number解决办法
    Centos 添加 yum
    javascript 键值转换
  • 原文地址:https://www.cnblogs.com/fansik/p/5567647.html
Copyright © 2011-2022 走看看