当前位置: 首页 > wzjs >正文

网站建设的总体目标是什么软装设计公司名称

网站建设的总体目标是什么,软装设计公司名称,php招聘WordPress,嘉兴在线 官网一、主从复制概述 MySQL主从复制(Replication)是MySQL数据库自带的一项核心功能,它允许将一个MySQL服务器(主库)的数据复制到一个或多个MySQL服务器(从库)。这项技术在现代分布式系统架构中扮演…

一、主从复制概述

MySQL主从复制(Replication)是MySQL数据库自带的一项核心功能,它允许将一个MySQL服务器(主库)的数据复制到一个或多个MySQL服务器(从库)。这项技术在现代分布式系统架构中扮演着至关重要的角色。

为什么需要主从复制?

  1. 读写分离:主库负责写操作,从库负责读操作,提升系统整体性能
  2. 数据备份:从库可作为主库的实时备份
  3. 高可用性:主库故障时可快速切换到从库
  4. 数据分析:在从库上执行分析查询,避免影响主库性能
  5. 地理分布:将数据复制到不同地理位置的服务器,减少延迟

二、主从复制原理

MySQL主从复制基于三种核心日志实现:

  1. 二进制日志(Binary Log):记录所有更改数据的SQL语句(DDL和DML)
  2. 中继日志(Relay Log):从库I/O线程从主库获取的二进制日志
  3. 重做日志(Redo Log):InnoDB引擎层面的日志,保证事务的持久性

复制工作流程

  1. 主库记录变更:所有数据变更被写入二进制日志
  2. 从库获取日志:从库的I/O线程连接主库,请求二进制日志
  3. 日志传输:主库的Binlog Dump线程将二进制日志发送给从库
  4. 从库应用变更:从库的SQL线程读取中继日志并重放SQL语句

三、主从复制配置实战

环境准备

  • 主库服务器:192.168.1.100
  • 从库服务器:192.168.1.101
  • MySQL版本:5.7+ (推荐8.0+)

1. 主库配置

编辑主库的my.cnf配置文件:

[mysqld]
server-id = 1                # 必须唯一
log_bin = mysql-bin          # 开启二进制日志
binlog_format = ROW          # 推荐使用ROW格式
binlog_row_image = FULL      # 记录完整的行数据
sync_binlog = 1              # 每次事务提交都同步二进制日志
expire_logs_days = 7         # 日志保留天数
binlog_do_db = mydb          # 可选,指定要复制的数据库

重启MySQL服务后,创建复制用户:

CREATE USER 'repl'@'192.168.1.101' IDENTIFIED BY 'Repl@1234';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.101';
FLUSH PRIVILEGES;

查看主库状态,记录File和Position值:

SHOW MASTER STATUS;

2. 从库配置

编辑从库的my.cnf配置文件:

[mysqld]
server-id = 2                # 必须唯一且不同于主库
relay_log = mysql-relay-bin  # 中继日志位置
read_only = ON               # 从库设为只读(超级用户仍可写)
log_slave_updates = ON       # 从库也记录二进制日志(用于级联复制)

重启MySQL服务后,配置复制:

CHANGE MASTER TO
MASTER_HOST='192.168.1.100',
MASTER_USER='repl',
MASTER_PASSWORD='Repl@1234',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;START SLAVE;

检查复制状态:

SHOW SLAVE STATUS\G

关键指标检查:

  • Slave_IO_Running: Yes
  • Slave_SQL_Running: Yes
  • Seconds_Behind_Master: 0 (或很小的数字)

四、主从复制模式详解

1. 基于语句的复制(SBR)

binlog_format = STATEMENT

优点

  • 日志量小
  • 可读性强

缺点

  • 不确定函数可能导致数据不一致(UUID(), NOW())
  • 某些操作可能效率低下

2. 基于行的复制(RBR)

binlog_format = ROW

优点

  • 数据一致性高
  • 更高效的大数据量变更复制

缺点

  • 日志量大
  • 可读性差

3. 混合模式(MBR)

binlog_format = MIXED

自动在SBR和RBR之间切换,平衡了两种模式的优缺点

五、高级复制拓扑结构

1. 一主多从

主库
├── 从库1(应用读)
├── 从库2(备份)
└── 从库3(数据分析)

2. 级联复制

主库 → 从库(也作为主库) → 从库

3. 双主复制(主-主复制)

主库A ↔ 主库B

配置要点:

  • 设置auto_increment_increment和auto_increment_offset避免ID冲突
  • 需要特别注意循环复制问题

六、常见问题与解决方案

1. 主从数据不一致

解决方案

  • 使用pt-table-checksum检查数据一致性
  • 使用pt-table-sync修复不一致数据
  • 考虑重做复制

2. 复制延迟

优化方案

  • 升级从库硬件(特别是SSD)
  • 调整参数:sync_binlog, innodb_flush_log_at_trx_commit
  • 使用多线程复制(MySQL 5.6+)
STOP SLAVE;
SET GLOBAL slave_parallel_workers=4;
START SLAVE;

3. 主键冲突

解决方案

  • 确保各服务器auto_increment设置正确
  • 使用全局ID生成方案(如雪花算法)

七、监控与维护

关键监控指标

SHOW SLAVE STATUS\G

重点关注:

  • Slave_IO_Running/Slave_SQL_Running
  • Seconds_Behind_Master
  • Last_IO_Error/Last_SQL_Error
  • Slave_SQL_Running_State

日常维护命令

-- 暂停复制
STOP SLAVE;-- 跳过错误(谨慎使用)
SET GLOBAL sql_slave_skip_counter=1;
START SLAVE;-- 重置复制
RESET SLAVE ALL;-- 切换主库(故障转移时)
CHANGE MASTER TO MASTER_HOST='new_master';

八、GTID复制模式(MySQL 5.6+)

全局事务标识符(GTID)简化了复制管理:

配置GTID

主库和从库my.cnf中添加:

gtid_mode=ON
enforce_gtid_consistency=ON

GTID复制配置

CHANGE MASTER TO
MASTER_HOST='192.168.1.100',
MASTER_USER='repl',
MASTER_PASSWORD='Repl@1234',
MASTER_AUTO_POSITION=1;

优点

  • 自动定位复制位置
  • 简化故障转移
  • 更可靠的复制

九、主从复制与高可用架构

1. 主从+MHA(Master High Availability)

MHA可实现主库故障时的自动切换

2. 主从+Keepalived

通过VIP实现故障转移

3. 使用MySQL Router

MySQL官方提供的中间件,实现自动读写分离

十、总结与最佳实践

MySQL主从复制是企业级数据库架构的基石,合理使用可以显著提升系统的可用性和性能。以下是一些最佳实践:

  1. 生产环境推荐使用GTID+ROW格式
  2. 从库配置read_only防止误操作
  3. 定期检查主从数据一致性
  4. 监控复制延迟并及时报警
  5. 重要从库配置延迟复制(防止误操作扩散)
  6. 考虑使用半同步复制提高数据安全性
-- 主库配置半同步复制
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
SET GLOBAL rpl_semi_sync_master_enabled=1;
SET GLOBAL rpl_semi_sync_master_timeout=10000; -- 10秒-- 从库配置
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
SET GLOBAL rpl_semi_sync_slave_enabled=1;

随着MySQL版本的演进,主从复制功能也在不断增强。MySQL 8.0引入了组复制(Group Replication)和InnoDB Cluster等更先进的技术,但传统主从复制因其简单可靠,仍然是大多数场景的首选方案。

http://www.dtcms.com/wzjs/594530.html

相关文章:

  • 英语网站新增两个栏目北京城建道桥建设网站
  • 做影视网站怎么亿星网站建设
  • 建筑类专业做教育的网站公众号引流推广
  • 灯饰网站建设长沙手机网站建设公司
  • 计算机技术员网站建设怎么收录优美图片
  • 微分销手机网站制作株洲网站建设 英铭
  • 如何申请免费网站缪斯设计网站
  • 汉口网站建设制作郑州证件制作
  • 网络营销托管服务商指的是哈尔滨seo排名优化公司价格
  • 接网站建设的单子wordpress 总提示更新
  • 网站制作前景如何一个空间做多个网站
  • 武冈做网站川畅联系 做网站多少钱
  • 邢台网站制作哪里好网站用后台更换图片
  • 运城做网站的公司沈阳网站建设工作室
  • 国内做视频的网站求好用的seo软件
  • 阿里云的网站建设方案衡水企业网站制作报价
  • 公明网站建设怎么做网站的建设模式是指什么
  • 免费网站建设魔坊wordpress 网页游戏
  • php网站开发实例 电子书seo价格查询公司
  • 做淘宝网站怎么弄的wordpress启用memcache
  • 网站开发建设项目服务清单设计师常用的图片网站
  • 甘肃省城乡城乡建设厅网站问题反馈的网站怎么做
  • 企业网站设置大型网站怎样做优化PHP
  • 杭州网站建设方案推广网络服务的服务提供者包括( )
  • 不同的网站 做301做篮球网站用的背景图
  • 家具建设企业网站台州建设局网站
  • 网站开发趋势2022网站seo
  • wordpress 门户网站淘宝网站开发方式
  • 网站网页直播怎么做的专业网站设计制合肥作
  • 太原做微网站的公司建筑设计理念万能模板