zoukankan      html  css  js  c++  java
  • mysql主从配置

           mysql 内建的复制功能是构建基于mysql的大规模,高性能应用的基础,这类应用使用的所谓的“水平扩展”的架构。
     
            复制解决的基本的问题是让一台server的数据与其它服务器保持同步。一台主库的数据可以同步到多台备库上。同时备库本身也可以被配置成另外一台server的主库。主备之间的组合方式有多种。
     
            mysql支持的复制方式,有2种:基于行的复制和基于语句的复制。这两种方式都是通过在主库上记录二进制日志,在备库重放日志的方式来实现异步的数据复制。这意味着,在同一时间点,备库上的数据可能与主库存在不一致,并且无法保证主备之间的延迟,一些大的语句可能导致备库产生几秒,几分钟甚至几个小时的延迟。
     
           mysql复制大部分是向后兼容的,新版本的服务器可以作为老版本的备库,但反过来则不行。可能的原因有,old版本可能无法解析新版本所采用的新的特性或语法,另外,所使用的二进制文件的格式也可能不同。所以在进行大版本升级前,最好先对复制的设置进行测试。但对于小版本号升级,则通常是兼容的。
     
          复制通常不会增加主库的开销,主要是启用二进制日志带来的开销,主要是启用二进制日志带来的开销,但处于备份或及时从崩溃中恢复的目的,这点开销也是必要,此外备库也会对主库增加一些负载,如网络I/O开销,尤其当备库请求从主库读取旧的二进制日志文件时,可能会造成更高的I/O开销。同时,琐竞争机制也可能阻碍事物的提交。最后,如果是从一个高吞吐量的主库上复制多个备库,唤醒多个复制线程发送事件的开销将会累加。
     
            通过mysql复制可以将读操作分布到多个server上,实现对读密集型的优化。对于备份来说,复制是一项很有意义的技术补充,但复制既不是备份也不能够取代备份。复制能够帮助应用程序避免mysql单点失败。
          
      
    图:mysql复制如何工作
     
    为mysql服务器配置复制非常简单,由于场景不同,略微会有所差异
    1,在每台server上创建复制帐号
    2,配置主库和备库
    3,通知备库连接到主库并从主库复制数据
     
    1,创建复制帐号
    mysql> grant replication slave,replication client on *.* to rep1@'192.168.110.136' identified by 'abc-123';
    Query OK, 0 rows affected (0.01 sec)
     
    在主库上开启一些设置,需要打开二进制日志并指定一个独一无二的sever ID 在主库的my.cnf文件中增加或者修改如下内容
    master
    log_bin = mysql-bin
    server_id = 5
     
    如果在之前mysql配置文件中没有指定log-bin选项,则需重启mysql,可以用show master status;来检查
     
    slave
    log_bin = mysql-bin
    server_id = 6
    relay_log = /var/lib/mysql/relay-bin
    log_slave_updates = 1
    read_only = 1
     
    重启slave执行复制
    stop slave;
    change master to master_host='192.168.110.135',master_user='rep1',master_password='abc-123';
    start slave;
     
    查看slave状态
    show slave statusG;
     
     
    可以从主库和从库用show processlist看到复制的线程
     
    END !
     
    本文主要参考《高性能mysql》
     
  • 相关阅读:
    关于智能本质的思考
    Effective C++ 条款39
    【视频教程】JEECG 入门视频教程大全+历史版本号代码下载
    HDU 4859(Bestcoder #1 1003)海岸线(网络流之最小割)
    最简单的基于FFMPEG的音频编码器(PCM编码为AAC)
    android经常使用的电话操作
    Vmware中为Mac Os安装vmtools
    win10.10 激活
    VM11安装Mac OS X 10.10
    win7系统升家庭版级为旗舰版的方法
  • 原文地址:https://www.cnblogs.com/changbo/p/5221153.html
Copyright © 2011-2022 走看看