12
返回列表 发新帖
楼主: lujinke

[原创] 【求助】数据库备份负载过高导致连接丢失

[复制链接]
论坛徽章:
4
2014年新春福章
日期:2014-02-18 16:49:31马上有钱
日期:2014-02-18 16:49:312014年新春福章
日期:2014-04-01 18:10:02优秀写手
日期:2014-10-17 06:00:14
11#
发表于 2014-6-20 20:10 | 只看该作者
lujinke 发表于 2014-6-20 18:03
我现在是多进程压缩,似乎没有必要再用多线程去压缩,这会使CPU负载更高吧

哦,对的,忘了你已经是多线程备份了

使用道具 举报

回复
论坛徽章:
2
2014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
12#
发表于 2014-6-21 16:35 | 只看该作者
应该搭建一个主从,在从上面用innodbbackup,定时增量和全量备份

使用道具 举报

回复
论坛徽章:
4
2014年新春福章
日期:2014-02-18 16:49:31马上有钱
日期:2014-02-18 16:49:312014年新春福章
日期:2014-04-01 18:10:02优秀写手
日期:2014-10-17 06:00:14
13#
发表于 2014-6-22 11:43 | 只看该作者
用mydumper吧,提供多线程备份还内置gzip压缩
应该比手工开启多个mysqldump进程好

使用道具 举报

回复
论坛徽章:
43
ITPUB9周年纪念徽章
日期:2012-09-28 16:17:24马上有钱
日期:2014-06-16 17:13:52马上有对象
日期:2014-06-16 17:13:52马上加薪
日期:2014-06-16 17:13:52现任管理团队成员
日期:2014-06-17 02:21:03版主1段
日期:2014-06-17 02:21:04马上有车
日期:2014-10-24 22:35:032010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:19
14#
发表于 2014-6-22 21:34 | 只看该作者
1. 确定【lost connnection during query】这个错误和备份有关吗?
    官方文档给出了该错误的三种原因:你不妨读下
2. 如果条件允许,建议做下从库吧,并且对从库进行备份也会好点

使用道具 举报

回复
论坛徽章:
3
懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18蒙奇·D·路飞
日期:2017-09-21 11:23:37
15#
 楼主| 发表于 2014-6-23 00:21 | 只看该作者
本帖最后由 lujinke 于 2014-6-23 00:21 编辑
幕南风 发表于 2014-6-22 21:34
1. 确定【lost connnection during query】这个错误和备份有关吗?
    官方文档给出了该错误的三种原因: ...

其实我一直有怀疑,就算备份负载高,MySQL也不会拒绝链接或者丢失链接
后来上周五发现这个lost connection是程序部分的后台线程主动kill掉的,后台线程会主动kill掉
执行时间超过20s的sql,为什么一个query会20s还没有返回呢,通过程序日志发现lost connectiion的那些查询都不会是慢查询,他们都是对主键关键字进行查询的语句,后来结合另外一个帖子里面的备份锁表的场景,发现是我备份参数设置出现了问题,我并发对DB服务器上的每个DB进行备份并且使用了--single-transaction --master-data=2的选项,因为该选项会发出flush tables with read lock语句,造成全局读锁,这样一并发就会有问题了,实际上如果使用上面的选项,并发备份其实就变成串行备份了,因为单另一个线程在备份时,其他线程的flush tables with read lock会阻塞,后续所有的更新语句都会阻塞,所以导致了很多更新语句超过20s被暴力kill,现在我暂时使用了--skip-lock-tables来进行并发备份以避免备份期间更新丢失的问题,

使用道具 举报

回复
论坛徽章:
5
双黄蛋
日期:2011-07-05 09:45:13咸鸭蛋
日期:2011-07-12 23:03:41ITPUB十周年纪念徽章
日期:2011-11-01 16:25:22双黄蛋
日期:2011-12-26 15:28:03ITPUB 11周年纪念徽章
日期:2012-10-09 18:13:33
16#
发表于 2014-6-23 14:33 | 只看该作者
换一种方式备份吧,mysqldump 备份慢,恢复更慢

使用道具 举报

回复
论坛徽章:
43
ITPUB9周年纪念徽章
日期:2012-09-28 16:17:24马上有钱
日期:2014-06-16 17:13:52马上有对象
日期:2014-06-16 17:13:52马上加薪
日期:2014-06-16 17:13:52现任管理团队成员
日期:2014-06-17 02:21:03版主1段
日期:2014-06-17 02:21:04马上有车
日期:2014-10-24 22:35:032010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:19
17#
发表于 2014-6-24 01:21 | 只看该作者
lujinke 发表于 2014-6-23 00:21
其实我一直有怀疑,就算备份负载高,MySQL也不会拒绝链接或者丢失链接
后来上周五发现这个lost connecti ...

感谢分享 :-)
你没有做复制环境,master-data可以不必用,该选项确实会自动打开lock-all-tables

使用道具 举报

回复
论坛徽章:
3
懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18蒙奇·D·路飞
日期:2017-09-21 11:23:37
18#
 楼主| 发表于 2014-6-24 11:58 | 只看该作者
本帖最后由 lujinke 于 2014-6-24 11:59 编辑
幕南风 发表于 2014-6-24 01:21
感谢分享 :-)
你没有做复制环境,master-data可以不必用,该选项确实会自动打开lock-all-tables

我打开--master-data倒不是想做主从,是想做point-in-time恢复的,另外该选线不会打开lock-all-tables,是会发出flush tables with read lock,有一个“短时间”的全局锁表过程

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表