hello,大家好,我是张张,「架构精进之路」公号作者。 在 MySQL 中我们经常会接触到三个核心日志,它们分别是:binlog 、redo log、undo log。好多同学对于它们可能并不陌生,但是具体区分起来各自的功能用途以及实现原理,那可能认知就会比较模糊了,今天就跟大家一起,来清晰明了的介绍一下这些日志的核心思想和功能原理。## 1 binlog### 1.1 binlog 设计目标binlog 记录了对 MySQL 数据库执行更改的所有的写操作,包括所...
缓存的工作原理是这样的:1. 当客户端连接,caching\_sha2\_password 检查 username/SHA256(SHA256(user\_password)) 是否匹配了缓存条目。如果匹配,验证成功。2. 如果没有匹配的缓存条目,插件会继续与客户端交换数据包,尝试使用 mysql.user 系统表的凭证验证客户端。如果成功,caching\_sha2\_password 增加对客户端的散列条目。否则,认证失败,连接被拒绝。这样,当客户端第一次连接,使用 mysql.user 系统表的凭据进行认证。当...
# 前言当前 火山引擎 RDS for MySQL 的同步方式有两种,分别为异步复制和半同步复制,下面会分析下二者的不同。# 主从复制原理主库上产生的 binlog 通过 binlog dump 线程发送给从库,从库的 IO 线程 将 binlog 日志保存到 relay-log 中,然后备库的 SQL 线程进行回放来达到数据同步的目的。# 异步复制在异步复制中,主库在binlog 落盘之前,binlog dump 线程将 binlog 推送到从库,然后继续执行事务commit的逻辑,不管从库是否...
# 前言当前 火山引擎 RDS for MySQL 的同步方式有两种,分别为异步复制和半同步复制,下面会分析下二者的不同。# 主从复制原理主库上产生的 binlog 通过 binlog dump 线程发送给从库,从库的 IO 线程 将 binlog 日志保存到 relay-log 中,然后备库的 SQL 线程进行回放来达到数据同步的目的。# 异步复制在异步复制中,主库在binlog 落盘之前,binlog dump 线程将 binlog 推送到从库,然后继续执行事务commit的逻辑,不管从库是否已经...
# 前言当前 火山引擎 RDS for MySQL 的同步方式有两种,分别为异步复制和半同步复制,下面会分析下二者的不同。# 主从复制原理主库上产生的 binlog 通过 binlog dump 线程发送给从库,从库的 IO 线程 将 binlog 日志保存到 relay-log 中,然后备库的 SQL 线程进行回放来达到数据同步的目的。# 异步复制在异步复制中,主库在binlog 落盘之前,binlog dump 线程将 binlog 推送到从库,然后继续执行事务commit的逻辑,不管从库是否...
EMR StarRocks 提供基于 MySQL 协议的 Broker Load 导入方式,帮助您从 HDFS 或外部云存储系统(如TOS)导入大批量数据。本文为您介绍Broker Load导入的使用示例以及常见问题,本文图片和内容来源于开源StarRocks社区从 HDFS 或外部云存储系统导入数据章节。 1 基本原理Broker Load 是一种异步的导入方式。您提交导入作业以后,FE 会生成对应的查询计划,并根据目前可用 BE 的个数和源数据文件的大小,将查询计划分配给多个 BE 执行。每...
# 前言当前 火山引擎 RDS for MySQL 的同步方式有两种,分别为异步复制和半同步复制,下面会分析下二者的不同。# 主从复制原理主库上产生的 binlog 通过 binlog dump 线程发送给从库,从库的 IO 线程 将 binlog 日志保存到 relay-log 中,然后备库的 SQL 线程进行回放来达到数据同步的目的。# 异步复制在异步复制中,主库在binlog 落盘之前,binlog dump 线程将 binlog 推送到从库,然后继续执行事务commit的逻辑,不管从库是否已经...
# 前言MySQL 的原生备份工具 mysqldump 是特别常用的备份工具,它具有如下优点:1. 工具使用并不复杂,命令简单。2. 将数据生成 SQL语句,方便在不同数据库平台之间做数据迁移3. 对于 innodb 表可以在线备份。本... # 备份原理解析在了方便观察,我们打开 general log 方便进行查看,### 使用参数 --master_data 和 --single-transaction。1.执行一次备份操作```(base) [root@ip-10-0-0-22 ~]# /usr/local/mysql5.7/bin/my...
# 前言MySQL 的原生备份工具 mysqldump 是特别常用的备份工具,它具有如下优点:1. 工具使用并不复杂,命令简单。2. 将数据生成 SQL语句,方便在不同数据库平台之间做数据迁移3. 对于 innodb 表可以在线备份。本... # 备份原理解析在了方便观察,我们打开 general log 方便进行查看,### 使用参数 --master_data 和 --single-transaction。1.执行一次备份操作````undefined(base) [root@ip-10-0-0-22 ~]# /usr/local/mysql5.7...
2024-04-15 全部 查看迁移对象 查看订阅对象 查看同步对象 支持过滤 OnlineDDL 产生的 DML 在订阅 MySQL 类型任务时支持配置过滤掉 OnlineDDL 产生的 DML。 2024-04-15 全部 创建 MySQL 数据订阅任务 新增... 当实例类型选择 MySQL 且订阅类型选择增量订阅时,支持配置订阅起点和订阅范围。 新增重试、终止订阅任务。 新增支持查看数据订阅任务的订阅进度。 2023-01-09 全部 架构原理 订阅方案概览 查看订阅任务 查看订...
云数据库 MySQL 版可通过数据库传输服务 DTS 进行结构迁移、全量数据迁移和增量数据迁移,实现不停机迁移上云。 原理图下图展示了MySQL如何使用DTS进行数据迁移的原理图: 使用优势使用范围广 适用多种实例类型:本地IDC、第三方云、ECS自建; 适用多种网络场景:公网、VPC等网络。 不停机迁移 增量迁移不影响业务连续性,实时同步变更数据,降低停机时间到分钟级别。 数据迁移流程使用DTS执行数据迁移的操作,需经历如下步骤: 准备工作...
# 1 前言得物 App 从创立之初,关系型数据库一直使用的开源数据库产品 MySQL。和绝大部分互联网公司一样,随着业务高速增长、数据量逐步增多,单实例、单库、单表出现性能瓶颈和存储瓶颈。从选型和架构设计角度来看... IO告警是否及时发送【演练场景7】PD Server Leader、follow节点重启【演练场景8】TiDB 集群 宕机一个TiDB Server节点以上的场景我们通过 ChaosBlade 实现了 100% 自动化故障注入。故障演练也促使我们达成整个...
这张图是 DB Engines 的数据库排名,准确来说是一个关系型数据库的排名。在 2021 年 4 月份的榜单上,MySQL 和 PG 都是关系型数据库的 Top5。这就意味着,如果我们想做一款数据库产品,大概率永远都绕不过 MySQL 和 PG... 磁盘故障演练:注入一些单机磁盘故障,去 kill 一些存储节点、元数据节点和单机磁盘,通过这样的演练来模拟存储磁盘故障。网络故障和存储故障演练之后,我们根据结果做了一些应急的容灾方案和工具,很幸运在春...