博客
关于我
【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/

    你可能感兴趣的文章
    Node出错导致运行崩溃的解决方案
    查看>>
    Node响应中文时解决乱码问题
    查看>>
    node基础(二)_模块以及处理乱码问题
    查看>>
    node安装卸载linux,Linux运维知识之linux 卸载安装node npm
    查看>>
    node安装及配置之windows版
    查看>>
    Node实现小爬虫
    查看>>
    Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
    查看>>
    Node提示:npm does not support Node.js v12.16.3
    查看>>
    Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
    查看>>
    Node服务在断开SSH后停止运行解决方案(创建守护进程)
    查看>>
    node模块化
    查看>>
    node模块的本质
    查看>>
    node环境下使用import引入外部文件出错
    查看>>
    node环境:Error listen EADDRINUSE :::3000
    查看>>
    Node的Web应用框架Express的简介与搭建HelloWorld
    查看>>
    Node第一天
    查看>>
    node编译程序内存溢出
    查看>>
    Node读取并输出txt文件内容
    查看>>
    node防xss攻击插件
    查看>>
    noi 1996 登山
    查看>>