mysqldump备份大数据出错

mysqldump备份大数据出错技术

maybe yes 发表于2015-01-26 22:58

原文链接 : http://blog.lmlphp.com/archives/72  来自 : LMLPHP后院

网 站的数据会定期备份,现在数据大了,mysqldump 方法估计是不行了,并且失败了以后并不能接着上次的位置开始备份。报错内容:mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `table name` at row: 23699。

Lost connection to MySQL server,在使用 mysqldump 的时候(尤其是向 NFS 上备份的时候),很多人都被“mysqldump:Got error:2013: Lost connection to MySQL server during query when dumping table”的问题困扰,在Manual中对这个问题有一些简单的说明。
在向NFS上备份的时候,数据的流向是这样的:MySQL Server 端从数据文件中检索出数据,然后分批将数据返回给mysqldump 客户端,然后 mysqldump 将数据写入到NFS上。一般地,向 NFS 上写入数据的速度较之Server端检索发送数据的速度要慢得多,这就会导致 mysqldump 无法及时的接受 Server 端发送过来的数据,Server 端的数据就会积压在内存中等待发送,这个等待不是无限期的,当 Server 的等待时间超过 net_write_timeout(默认是60秒)时它就失去了耐心,mysqldump 的连接会被断开,同时抛出错误 Got error: 2013: Lost connection。
增加 net_write_timeout 可以解决上述的问题的。在实践中发现,在增大 net_write_timeout 后,Server 端会消耗更多的内存,有时甚至会导致 swap 的使用(并不确定是不是修改 net_write_timeout 所至)。建议在mysqldump 之前修改 net_write_timeout 为一个较大的值(如1800),在 mysqldump 结束后,在将这个值修改到默认的60。
Lost connection to MySQL server during query 错误
造成这样的错误原因很多
个人经验认为先试一试这两个参数,大部分都是这个原因引起的:
bind-address = 127.0.0.1
skip-name-resolve
这两个参数任意一个就行。
也就是说遇到2006,2013错误就重新连接一下MySQL。
MySQL层面,需要配置一些参数 my.cnf
wait_timeout = x 超时时间
max_allowed_packet = y 最大允许数据量
一般出现这种情况不是所有例句而是单个表,请你先修复表一般都能解决这类问题
备份不要在数据库压力较大的时候进行,每天凌晨备份是比较合适的
如果是事务型引擎(InnoDB),建议使用 --single-transaction 参数,这样可以让锁表时间变得很短。

上 面是做法估计是行不通了,网站在虚拟主机上,修改 MySQL 配置是不太可能的。MySQL 官网也有类似的报告 http://bugs.mysql.com/bug.php?id=47702 。暂时只能使用 --ignore-table=<database>.<table> 选项忽略比较大的表暂时不备份吧。

阅(69)评(0)查看评论

时间: 2024-12-15 05:24:24

mysqldump备份大数据出错的相关文章

mysqldump备份及数据还原

mysqldump建议使用在10g以下的数据进行备份,是mysql数据库的逻辑备份 mysqldump 指令介绍 -A 所有表  -all-databases -B   --databases   db1 db2 ...: 备份指定的多个库,同时创建库(不能跟A同时使用) -x 锁表   --lock-all-tables    请求锁定所有表之后再备份,对MyISAM.InnoDB.Aria做温备 --single-transaction: 能够对InnoDB存储引擎实现热备:(要确定表是in

mysqldump备份结合binlog日志恢复

http://hongge.blog.51cto.com/ MySQL备份一般采取全库备份加日志备份的方式,例如每天执行一次全备份,每小时执行一次二进制日志备份.这样在MySQL故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间. 1.binlog介绍 mysql的二进制日志记录着该数据库的所有增删改的操作日志(前提是要在自己的服务器上开启binlog),还包括了这些操作的执行时间.为了显示这些二进制内容,我们可以使用mysqlbinlog命令来查看. Binlo

利用mysqldump备份mysql

mysqldump备份机制:通过给定的参数信息和系统表数据,来一张表一张表地获取数据并生成insert语句插入备份文件中,这样由于时间点不一致,就会导致数据不一致,然而对于一个要求强一致性的系统来说,这种方式备份出来的文件完全无效. 所以要想mysqldump备份的数据具有一致性,有以下方法 ①,利用事务机制,通过--single-transaction参数来完成数据库的备份 原理:利用事务的一致性,一个事务中所有的数据都处于同一个时间点,适用与innodb或其他有支持事务的引擎 ②,利用--l

mysql innobackupex xtrabackup 大数据量 备份 还原(转)

原文:http://blog.51yip.com/mysql/1650.html 作者:海底苍鹰 大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推荐xtrabackup,这个工具比mysqldump要快很多. 一.Xtrabackup介绍 1,Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtra

mysql数据库种类介绍及 mysqldump备份数据

一  Nosql 指的是非关系型数据库,作为传统关系型数据库的一个有效补充,针对特定场景.以高性能和使用便利为目一 的功能特异化的数据库产品 Nosql特点: Noosql数据库存储不需要固定的表结构 1 他不是否定关系数据库,而是作为关系数据库的一个重要补充 2 Nosql为了高性能高并发而产生的 3 Nosql典型产品memcache(纯内存) 一重启就丢数据 redis(持久化缓存)  持久化缓存 mongodb 二  非关系型数据库种类: 1 键值存储数据库 2 列存储数据库 3 面向文

mysql大数据备份及恢复(一)

Mysql大数据备份和恢复一 MySQL备份一般采取全库备份.日志备份:MySQL出现故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间:mysql的二进制日志记录着该数据库的所有增删改的操作日志还包括了这些操作的执行时间 Binlog的用途:主从同步.恢复数据库 使用binlog工具备份 查看binlog是否开启,因为默认是关闭的 从上图可知off为关闭状态,一般logbin为只读,在/etc/my.cnf下开启 重启数据库 重启后在目录下查看是否生成bin日志

MySQL5.7.18 备份、Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出

粗略介绍冷备,热备,温暖,及Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份 --备份的目的 灾难恢复:意外情况下(如服务器宕机.磁盘损坏等)对损坏的数据进行恢复和还原保证数据不丢失,最小程度地丢失需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 --备份与恢复概述 根据备份的方法可以分为: 1.Hot Backup(热备) 2.Cold Backup(冷备) 3.Warm Backup(温备) Hot Backup是指

mysqldump实现l数据备份及灾难恢复

目录 1.测试环境介绍 2.备份策略 3.备份 4.灾难恢复 5.总结 1.测试环介绍 mysql> SELECT VERSION(); +------------+ | VERSION()  | +------------+ | 5.5.36-log | +------------+ mysql> SHOW DATABASES; +--------------------+ | Database           | +--------------------+ | information

MySQL中使用innobackupex、xtrabackup进行大数据的备份和还原

大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推荐xtrabackup,这个工具比mysqldump要快很多. 本文还参考了:http://blog.chinaunix.net/uid-20682026-id-3319204.html xtrabackup备份恢复测试 一.Xtrabackup介绍 1.Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具I