沃趣科技的ITPUB博客

让数据驱动未来!

  • 博客访问: 411158
  • 博文数量: 71
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-18 13:18
  • 认证徽章:
ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(71)

文章存档

2017年(43)

2016年(28)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

发布时间:2017-07-18 15:45:24

从上文中冗长的分析过程,我们可以得知,导致出问题的起因是主库持续写入的情况下,从库执行stop slave;时,IO线程读取并只向relay log中写入了一个事务的部分event(event组不完整,只写了GTID EVENT),后续change master to master_auto_position=0语句既没有指定请求主库的binlog位置,也没有指定从库的relay log,导致mysql server执行了清理relay log(清理了IO线程最后写入的GTID EVENT)以及 relay log和SQL线程相关的表和内存中的位置信息,并把SQL线程的位置指向了IO线程的停止位置(IO线程读取的主库binlog file and pos),后续start slave;时从库就从IO线程停止的位置开始复制,由于IO线程停止时的位置处在一个事务的中间,SQL线程从这个位置开始应用时,立即发现了这个事务缺少GTID event,被误认为是一个 匿名事务(gtid_mode系统参数设置为ON时,IO线程和SQL线程都不允许碰到匿名事务),所以SQL协调器线程和worker线程......【阅读全文】

阅读(224) | 评论(0) | 转发(0)

发布时间:2017-07-18 14:59:18

今天咱们同事说碰到一个古怪的问题,说MySQL 5.7.18上,主从复制结构中,从库在使用change master语句切换master_auto_position=1为0时,SQL线程报错了([ERROR] Slave SQL for channel '': Error '@@SESSION.GTID_NEXT cannot be set to ANONYMOUS when @@GLOBAL.GTID_MODE = ON.' on query. Default database: 'sbtest'. Query: 'BEGIN', Error_code: 1782),然后,出于尝试修复,又改成了1,重新启动复制就恢复正常了,然后再改成0重新启动复制,这个时候发生数据丢失了,再反复切换几次之后,MySQL crash了。。,当时我听到这个问题的第一反应就是:一脸懵逼(因为1782错误通常是发生复制架构启用GTID复制之后,从库IO线程读取到主库的ANONYMOUS 事务时报错)。。然后,发了一阵呆之后,想到了一些可能导致这个问题的原因,下文我们通过"复现与简单分析"、"重新复现、详细分......【阅读全文】

阅读(95) | 评论(0) | 转发(0)

发布时间:2017-07-18 11:50:26

上周同事在客户现场遇到了由于统计信息的原因,导致应用数据迁移时间过慢,整个迁移差点失败。关键时刻同事发现测试环境与生产环境SQL语句执行计划不一致,立刻收集统计信息才保证迁移得以正常完成。
统计信息对于SQL的执行时间有重要的影响,统计信息的不准确会导致SQL的执行计划不准确,从而致使SQL执行时间变慢,Oracle DBA非常了解统计信息的收集规则,同样在MySQL中也有相关的参数去控制统计信息。......【阅读全文】

阅读(969) | 评论(0) | 转发(0)

发布时间:2017-07-17 15:20:33

作为专职的DBA:
我们一定一定要保持一种高度谨慎的态度,在数据库备份方案选型时,一定要根据自己的业务场景充分测试,校验,尽可能地把可能出现的深坑挖出来。
除了寻找适合自己的,可行的备份方案之外,更应该做好备份校验(备份是否成功完成、备份文件是否损坏)、备份恢复演练(备份文件是否可以正常恢复数据),以备不时之需。
对生产库的DDL操作、大事务、或者长时间锁表的操作,一定要避开备份时间,否则,你懂的……......【阅读全文】

阅读(109) | 评论(0) | 转发(0)

发布时间:2017-07-17 15:17:15

想必大家都知道,mysqldump备份时可以使用--single-transaction + --master-data两个选项执行备份(老实讲,为图方便,本人之前很长一段时间,生产库也是使用mysqldudmp远程备份的),这样备份过程中既可以尽量不锁表,也可以获取到binlog pos位置,备份文件可以用于数据恢复,也可以用于搭建备库。看起来那么美好,然而,其实一不小心你就发现自己已经在坑里了。......【阅读全文】

阅读(64) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

沃趣科技2017-02-22 10:11

ziyoo0830:请问,后续还会继续更新吗?

你好 ASM翻译系列现在持续更新了 谢谢您的关注~

回复  |  举报

ziyoo08302016-08-29 14:07

请问,后续还会继续更新吗?

回复  |  举报

ziyoo08302016-08-29 14:07

很好的学习资料,感谢分享。另外第11弹没有。

回复  |  举报
留言热议
请登录后留言。

登录 注册