【详解】MySQL主从复制配置,一次性搞定读写分离!

news/2024/12/25 14:26:54/文章来源:https://www.cnblogs.com/it-feiyu/p/18630316

本文将详细介绍MySQL主从复制的配置过程,包括主库配置、从库配置、主从同步状态监控等内容,帮助你轻松实现数据库的读写分离。

一、主从复制简介

MySQL主从复制是一个异步的复制过程,通过它可以让一台MySQL服务器(从库)的数据与另一台MySQL服务器(主库)的数据保持同步。

1.1 主从复制的优势

  1. 实现读写分离,提升系统性能
  2. 数据备份,提高数据安全性
  3. 高可用性,故障快速切换
  4. 便于数据分析和报表生成

二、环境准备

2.1 服务器规划

  • 主库:192.168.1.100
  • 从库:192.168.1.101

2.2 MySQL版本

  • MySQL 8.0及以上版本

三、主库配置

3.1 修改主库配置文件

# 编辑my.cnf文件
vim /etc/my.cnf# 添加以下配置
[mysqld]
# 服务器唯一ID
server-id=1
# 开启二进制日志
log-bin=mysql-bin
# 需要同步的数据库
binlog-do-db=your_database
# 不需要同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema

3.2 创建复制用户

-- 创建用户并授权
CREATE USER 'repl'@'192.168.1.%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.%';
FLUSH PRIVILEGES;-- 查看主库状态
SHOW MASTER STATUS;

四、从库配置

4.1 修改从库配置文件

# 编辑my.cnf文件
vim /etc/my.cnf# 添加以下配置
[mysqld]
# 服务器唯一ID,与主库不同
server-id=2
# 开启中继日志
relay-log=mysql-relay

4.2 配置主从关系

STOP SLAVE;CHANGE MASTER TOMASTER_HOST='192.168.1.100',MASTER_USER='repl',MASTER_PASSWORD='password',MASTER_LOG_FILE='mysql-bin.000001',  -- 使用SHOW MASTER STATUS查看到的值MASTER_LOG_POS=123;                  -- 使用SHOW MASTER STATUS查看到的值START SLAVE;

五、验证主从同步

5.1 查看从库状态

SHOW SLAVE STATUS\G-- 检查以下两项是否都为Yes
-- Slave_IO_Running: Yes
-- Slave_SQL_Running: Yes

5.2 测试主从同步

-- 在主库执行
CREATE DATABASE test;
CREATE TABLE test.users (id INT PRIMARY KEY,name VARCHAR(50)
);
INSERT INTO test.users VALUES (1, 'test');-- 在从库查看
SELECT * FROM test.users;

六、常见问题处理

6.1 同步失败处理

-- 查看详细错误信息
SHOW SLAVE STATUS\G-- 常见解决方案
-- 1. 跳过错误
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
START SLAVE;-- 2. 重置从库
STOP SLAVE;
RESET SLAVE;
START SLAVE;

6.2 数据不一致处理

  1. 使用pt-table-checksum工具检查数据一致性
  2. 使用pt-table-sync工具修复不一致数据

七、性能优化建议

  1. 合理设置binlog格式
SET GLOBAL binlog_format = 'ROW';
  1. 配置从库并行复制
slave_parallel_workers = 4
slave_parallel_type = LOGICAL_CLOCK
  1. 设置半同步复制提高数据安全性
-- 主库安装插件
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
SET GLOBAL rpl_semi_sync_master_enabled = 1;-- 从库安装插件
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
SET GLOBAL rpl_semi_sync_slave_enabled = 1;

八、监控和维护

8.1 关键监控指标

  1. 主从延迟时间
SHOW SLAVE STATUS\G
-- 查看 Seconds_Behind_Master 值
  1. 复制线程状态
  2. 主从数据一致性

8.2 定期维护任务

  1. 检查主从状态
  2. 验证数据一致性
  3. 清理旧的二进制日志
PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 7 DAY);

九、总结

通过本文的配置步骤,你应该已经成功搭建了MySQL主从复制环境。记住以下要点:

  1. 主从配置前要做好规划
  2. 定期检查主从状态
  3. 做好监控和维护工作
  4. 重要操作前要先备份数据

如果你在配置过程中遇到问题,欢迎在评论区讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/858644.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC中CBitmap、CBrush、CFont、CPalette、CPen、CRgn删除GDI对象问题

CBitmap、CBrush、CFont、CPalette、CPen、CRgn均继承自CGdiObject,CDI对象属于CGdiObject,在该类的析构函数中会释放,因此CBitmap、CBrush、CFont、CPalette、CPen、CRgn不必要显式调用DeleteObject()。如果GDI对象在在堆上分配的,则在特定时刻需要删除它,以便执行其析构…

【甲方安全】政府行业+80个威胁检测与安全事件分析场景(2025)

本篇幅详细梳理了 80 个在政企网络安全分析中常见的应用场景,这些场景涵盖了从攻击前兆(如漏洞扫描、情报收集)、攻击过程(如漏洞利用、横向移动)到攻击结果(如数据加密、信息泄露)的各个阶段,旨在协助 SOC 分析师们更好地构建主动防御体系。这些场景并非抽象概念,而是…

想自己做大模型备案的企业看过来【评估测试题+备案源文件】

大模型备案,大模型语料标注规则,大模型安全评估报告文章目录 (一)适用主体 (二)语料安全 (三)模型安全 (四)安全措施要求 (五)词库要求 (六)安全评估要求 (七)附录大模型备案材料源文件 2024年3月1日,我国通过了《生成式人工智能服务安全基本要求》(以下简称…

树洞09

情绪很不好,没人能依靠 钱财多有价,感情胜千金 金玉良缘广,木石前盟稀 愿君有真爱,伴君度此生。

qt读写ini文件

[group1]key1=val1key2=val2sameKay=sameVal [group2]jian1=zhi1jian2=zhi2sameKay=sameZhi比如创建插入一组ini文件,下面是文件写入的代码; Ini文件的写入 ini文件不需要像xml和json一样需要使用QFile打开文件,只需将文件路径及文件格式传入即可(下方代码运行完毕,ini文件…

【科普系列】LIN协议错误类型介绍

引言LIN(Local Interconnect Network)是一种针对汽车电子系统应用的串行通信协议,主要用于汽车电子控制单元(ECU)之间的通信。LIN总线的特点是成本低、速率低、通信距离短、连接节点少,主要用于对带块要求低、实时性要求不高的控制任务,例如车门控制、天窗控制、座椅控制…

详述大模型备案

大模型备案,大模型语料标注规则,大模型安全评估报告,大模型网信办备案大模型备案安全评估流程详细说明,见下图:大模型安全评估流程图 算法备案安全评估流程详细说明,见下图:算法安全评估流程图**大模型备案,大模型算法备案 ** 一、大模型算法备案的强制性 二、生成式人…

精选!J 人电商零售圣诞季,哪 6 款办公软件能激发团队工作学习潜能?

岁末的圣诞节,电商零售行业迎来了最为繁忙的购物狂欢季。在这关键时期,J 人电商团队凭借其果断、有计划、注重秩序的特质,渴望通过高效的团队协作和个人的快速学习成长,在激烈的市场竞争中脱颖而出。而选择合适的办公软件,无疑是实现这一目标的重要利器。接下来,将为您详…

智能网联汽车网络安全测试解决方案

经纬恒润的整车安全团队可协助客户制定系统的网络安全测试解决方案,具体包括:网络安全需求实现测试、网络安全合规性测试和渗透测试。经纬恒润可提供涵盖软件阶段、系统阶段和整车阶段的网络安全测试服务和相关测试工具,以实现网络安全策略的快速验证。概述为了应对日益严峻…

【工作相关】AOSP GSI image下载

android14 gsi下载地址: https://ci.android.com/builds/branches/aosp-android14-gsi/grid?legacy=1android13 gsi下载地址: https://ci.android.com/builds/branches/aosp-android13-gsi/grid?legacy=1

免费学习PostgreSQL,来这里看看PG从小白到专家技术公开课

PostgreSQL数据库是现在非常火的一种数据库技术,尤其是随着国内信创体系的建设,PostgreSQL由于其免费开源+功能强大等优点,在国内变得非常的热门,对于从事数据库相关职业的人员,学习下PostgreSQL技术非常有必要。 想免费学习PostgreSQL技术,可以观看CUUG数据库公开课有诸…