博客
关于我
【Mysql】 高级优化 --- Mysql 主从复制
阅读量:284 次
发布时间:2019-03-01

本文共 1534 字,大约阅读时间需要 5 分钟。

MySQL 主从复制详解

一、复制的基本原理

MySQL 主从复制的核心机制基于两台服务器:主服务器(Master)和从服务器(Slave)。以下是其工作原理:

  • 主服务器记录变更:主服务器将数据库变更记录到二进制日志(Binary Log)。这些记录包含了数据更改的具体时间和事件。

  • 从服务器拷贝日志:从服务器连接到主服务器,获取其二进制日志内容,并将其拷贝到中继日志(Relay Log)。

  • 从服务器应用变更:从服务器根据中继日志中的记录,重放这些变更操作,将数据变更应用到自己的数据库中。

  • MySQL 复制采用异步且串行化的方式,确保数据的一致性。

    二、复制的基本原则

    MySQL 主从复制遵循以下基本原则:

  • 单一主服务器:每个从服务器只能有一个主服务器。

  • 唯一的服务器ID:每个从服务器必须有唯一的服务器ID,确保主从关系无误。

  • 多个从服务器:主服务器可以有多个从服务器,提高数据的冗余和负载均衡能力。

  • 三、复制的最大问题

    在实际应用中,MySQL 主从复制可能面临以下问题:

  • 延迟:由于数据异步复制,可能导致数据不一致。

  • 网络连接不稳定:网络问题可能导致二进制日志的传输中断。

  • 配置错误:如服务器ID冲突、日志路径错误等问题,会导致复制失败。

  • 四、一主一从常见配置

    1. MySQL 版本一致

    确保主从服务器使用相同版本的MySQL,避免兼容性问题。

    2. 后台服务运行

    两台服务器应以后台服务运行,不影响正常业务处理。

    3. 配置文件路径

    主机和从机的配置文件路径需一致,建议使用小写字母。

    4. 防火墙设置

    主从服务器需相互开放相关端口,确保通信畅通。

    5. 用户权限设置

    为从服务器账户授予REPLICATION SLAVE权限,确保复制权限。

    6. 二进制日志配置

    确保主服务器启用二进制日志,并指定正确的存储路径。

    7. 数据库选择

    可选择性配置复制的具体数据库,减少资源消耗。

    8. 数据同步策略

    根据业务需求,制定合理的数据同步策略,避免高负载。

    五、详细配置步骤

    1. 主服务器配置

    my.ini 中添加以下设置:

    [server]server-id=1log-bin=mysqlbindatadir=/var/lib/mysql/data

    2. 从服务器配置

    my.cnf 中添加以下设置:

    [server]server-id=2log-bin=/var/lib/mysql/mysqlbin

    3. 用户权限

    在主服务器执行:

    GRANT REPLICATION SLAVE ON *.* TO 'username'@'from_host' IDENTIFIED BY 'password';

    4. 主从同步

    从服务器执行:

    CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='username', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysqlbin.000001', MASTER_LOG_POS=1070;

    5. 启动复制

    从服务器执行:

    START SLAVE;

    6. 验证状态

    执行:

    SHOW SLAVE STATUS\G

    确保 Slave_IO_RunningSlave_SQL_Running 均为 "Yes"。

    六、常见错误处理

  • 网络连接问题:检查防火墙设置,确保端口开放。

  • 日志文件缺失:确认主服务器的二进制日志路径和文件名。

  • 权限不足:检查从服务器账户权限是否正确。

  • 延迟问题:优化网络带宽,减少复制压力。

  • 通过以上配置和优化,可以实现稳定、高效的MySQL主从复制,确保数据的一致性和可用性。

    转载地址:http://lmao.baihongyu.com/

    你可能感兴趣的文章
    PGSQL安装PostGIS扩展模块
    查看>>
    pg数据库中两个字段相除
    查看>>
    PhalApi:[1.23] 请求和响应:GET和POST两者皆可得及超越JSON格式返回
    查看>>
    Phalcon环境搭建与项目开发
    查看>>
    Phantom.js维护者退出,项目的未来成疑
    查看>>
    Pharmaceutical的同学们都看过来,关于补码运算的复习相关内容
    查看>>
    Phaser性能测试加强版
    查看>>
    phoenix 开发API系列(一)创建简单的http api
    查看>>
    Phoenix 查看表信息及修改元数据
    查看>>
    phoenixframework集成了所有自动化测试的思想的平台。mark一下。
    查看>>
    phoenix_执行sql报错_Error: ERROR 504 (42703): Undefined column. columnName=(state=4270_大数据工作笔记0181
    查看>>
    phoenix启动失败_The history file `/root/.sqlline/history` may be an older history---记录024_大数据工作笔记0184
    查看>>
    Phoenix基础命令_视图映射和表映射_数字存储问题---大数据之Hbase工作笔记0036
    查看>>
    phoenix无法连接hbase shell创建表失败_报错_PleaseHoldException: Master is initializing---记录020_大数据工作笔记0180
    查看>>
    Phoenix简介_安装部署_以及连接使用---大数据之Hbase工作笔记0035
    查看>>
    phoenix连接hbase报错Can not resolve hadoop120, please check your network_记录026---大数据工作笔记0187
    查看>>
    PhotoPrism:这款获得35.8K星的AI照片管理神器你值得拥有
    查看>>
    Photoshop工作笔记001---Photoshop常用快捷键总结
    查看>>
    photoshop智能参考线
    查看>>
    Reids配置文件redis.conf中文详解
    查看>>