微信公众号
扫描关注微信公众号
博客大厅

MySQL主从复制实战:一主一从架构搭建指南

原创 来源:博客站 阅读 0 03月22日 09:23 听全文

MySQL主从复制是一种常见的数据同步方案,能够有效提升数据库的可用性和性能。本文将详细介绍如何搭建MySQL一主一从架构,并验证数据同步。

一、主从复制原理

MySQL主从复制基于二进制日志(binlog)实现,主库将数据变更记录到binlog,从库读取并重放这些日志,从而实现数据同步。

二、环境准备

  • 主库:192.168.1.1
  • 从库:192.168.1.2
  • MySQL版本:5.7+

三、主库配置

  1. 修改配置文件 my.cnf

    [mysqld]
    server-id=1  # 主库唯一ID
    log-bin=mysql-bin  # 开启binlog
    binlog-format=ROW  # 推荐使用ROW格式
    
  2. 创建复制用户

    CREATE USER 'repl'@'192.168.1.2' IDENTIFIED BY 'repl_password';
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.2';
    FLUSH PRIVILEGES;
    
  3. 重启MySQL服务

    systemctl restart mysqld
    

四、从库配置

  1. 修改配置文件 my.cnf

    [mysqld]
    server-id=2  # 从库唯一ID
    
  2. 配置主库信息

    CHANGE MASTER TO
    MASTER_HOST='192.168.1.1',
    MASTER_USER='repl',
    MASTER_PASSWORD='repl_password',
    MASTER_LOG_FILE='mysql-bin.000001',  # 主库show master status获取
    MASTER_LOG_POS=4;  # 主库show master status获取
    
  3. 启动复制

    START SLAVE;
    
  4. 查看复制状态

    SHOW SLAVE STATUSG
    

    确保 Slave_IO_RunningSlave_SQL_Running 均为 Yes

五、验证主从复制

  1. 在主库创建测试数据

    CREATE DATABASE test;
    USE test;
    CREATE TABLE t1 (id INT PRIMARY KEY, name VARCHAR(20));
    INSERT INTO t1 VALUES (1, 'Alice');
    
  2. 在从库查询数据

    SELECT * FROM test.t1;
    

    若数据一致,则主从复制配置成功。

六、常见问题排查

  • Slave_IO_Running 为 No:检查主库连接信息是否正确,网络是否通畅。
  • Slave_SQL_Running 为 No:检查从库是否已存在相同数据,或主从库表结构是否一致。

七、总结

通过以上步骤,您已成功搭建MySQL一主一从架构。主从复制不仅提升了数据库的可用性,还为数据备份和读写分离提供了基础。

学在每日,进无止境!更多精彩内容请关注微信公众号。
原文出处: 内容由AI生成仅供参考,请勿使用于商业用途。如若转载请注明原文及出处。
出处地址:http://www.07sucai.com/tech/848.html
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。
轻松 一刻
>