摘要:事故起因 某研发同事需要关联更新2600万数据量的表,考虑到单条语句更新会造成超大事务影响业务(预发布环境),因此将更新操作拆分成多个小批次处理(每次更新10万,休息5秒)。通过运维平台跑起来就没管,运行半小时后想起来运维平台自动在脚本上增加事务,虽然进行拆分,但仍是在一个事务中处理,由于中间还有停 阅读全文
posted @ 2020-02-10 17:41 TeyGao 阅读 (3) 评论 (0) 编辑
摘要:GTID模式下主库发生故障的主从切换实现思路: 未完待续。。。 阅读全文
posted @ 2020-01-31 22:32 TeyGao 阅读 (8) 评论 (0) 编辑
摘要:MySQL复制延迟排查思路: 阅读全文
posted @ 2020-01-19 11:13 TeyGao 阅读 (5) 评论 (0) 编辑
摘要:MySQL InnoDB存储引擎使用MVCC机制来提供一致性非锁定读((consistent nonlocking read)。 为方便演示,下面图中: 黄色部分表示重做日志(UNDO LOG) 绿色部分表示正常数据 红色部分表示已删除数据 假设现在有表TB001,其表结构为: CREATE TAB 阅读全文
posted @ 2020-01-13 23:05 TeyGao 阅读 (7) 评论 (0) 编辑
摘要:准备测试环境: MySQL 5.7.28 社区版 CentOS release 6.10 MySQL Undo参数配置: innodb_undo_tablespaces = 1 innodb_default_row_format = dynamic 准备测试数据: ## 创建测试表 CREATE T 阅读全文
posted @ 2020-01-13 18:26 TeyGao 阅读 (8) 评论 (0) 编辑
摘要:继续上一个测试 测试2:更新测试 测试脚本: ## 更新C1列并导致数据变化 UPDATE TB001 SET C1='BBBB01' WHERE ID='AA0001'; ## 更新C1列但不导致数据变化 UPDATE TB001 SET C1='BB0002' WHERE ID='AA0002' 阅读全文
posted @ 2020-01-12 19:10 TeyGao 阅读 (14) 评论 (0) 编辑
摘要:测试环境: MySQL 5.7.28 社区版 CentOS release 6.10 MySQL Undo参数配置: innodb_undo_tablespaces = 1 innodb_default_row_format = dynamic 测试1:插入测试 测试脚本: ## 创建测试表 CRE 阅读全文
posted @ 2020-01-11 16:38 TeyGao 阅读 (15) 评论 (0) 编辑
摘要:测试环境: MySQL 5.7.28 社区版 CentOS release 6.10 MySQL Undo参数配置: innodb_undo_tablespaces = 1 innodb_default_row_format = dynamic 测试1:插入测试 测试脚本: ## 创建测试表 CRE 阅读全文
posted @ 2020-01-11 15:06 TeyGao 阅读 (9) 评论 (0) 编辑
摘要:测试环境: MySQL 5.7.28 社区版 CentOS release 6.10 MySQL Undo参数配置: innodb_undo_tablespaces = 1innodb_default_row_format = dynamic 测试脚本: ## 创建测试表 CREATE TABLE 阅读全文
posted @ 2020-01-10 23:40 TeyGao 阅读 (7) 评论 (0) 编辑
摘要:搭建测试环境演示BKA和MRR特性 建表语句: ## 创建测试表tb1和tb2 CREATE TABLE `tb1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c1` int(11) DEFAULT NULL, `c2` int(11) DEFAULT NUL 阅读全文
posted @ 2020-01-09 18:10 TeyGao 阅读 (10) 评论 (0) 编辑