【转】mysqldump的锁表的问题
今天凌晨,公司的一台MySQL生产库备份时间从2:30一直备份到8:30,正常情况下这个备份应该只会备份20分钟,3:00之前就会备份完毕,
但是这次备份时间太长了,也影响了公司业务的使用。
先写一下公司的备份语句
mysqldump -uroot -p123456 --opt --master-data=2 -R dbname | gzip >/data/dbname.sql.gz
分析一下上面这个语句
--opt 会lock 本次需要备份的所有表,因为本次备份的是 dbname数据库,所以会锁住dbname的所有表。
--master-data=2,--master-data=1 默认的话会--lock-all-tables,会锁住整个mysql数据库中的所有表。
但是如果加上--single-transaction会加上事务,不会锁表。
所以我在原有参数的基础上加上--single-transaction
mysqldump -uroot -p123456 --opt --single-transaction --master-data=2 -R dbname | gzip >/data/dbname.sql.gz
如果加上--single-transaction,备份的时候就不会锁表了。
以前一直以为locks级别大于single transaction,经过这次实践证明,single-transaction级别更高。
选择备份多个数据库的简单语法:
mysqldump -uroot -p123 -h192.131.1.9 --single-transaction --master-data=2 -R --no-data --databases vgos_mcenter vgos_statnum>11.dmp
顺便说一下,mysqldump默认是lock-tables的。
当执行mysqldump -uroot -p123 -h192.131.1.9 -R vgos_statnum>11.dmp 的时候,lock整个vgos_statnum库
当执行mysqldump -uroot -p123 -h192.131.1.9 -R vgos_statnum t1>11.dmp 的时候,没有lock整个vgos_statnum库,lock的是t1表。
【转自】:http://blog.csdn.net/weiliu1463/article/details/25305371
【转】mysqldump的锁表的问题的更多相关文章
- mysqldump 备份数据说明+ 避免锁表
1.mysqldump命令备份Mysql数据库的参数说明 在用mysqldump备份使用那些参数选项是最完美的组合呢?--skip-opt--create-option ...
- MYSQL正式环境主从复制(不锁表,不停服务)
参考URL: http://rfyiamcool.blog.51cto.com/1030776/1016636/ 原因源于其实以前环境是有MYSQL主从复制的,且最开始主从复制之间是OK的. 但由于日 ...
- 【MySQL 读书笔记】全局锁 | 表锁 | 行锁
全局锁 全局锁是针对数据库实例的直接加锁,MySQL 提供了一个加全局锁的方法, Flush tables with read lock 可以使用锁将整个表的增删改操作都锁上其中包括 ddl 语句,只 ...
- mysql锁表与不锁表设置主从复制的方法
有时候MySQL主从同步不一致比较严重的时候,需要手动同步.先说说在锁表的情况下如何操作:以下是其简要过程 1.先对主库锁表FLUSH TABLES WITH READ LOCK; 2.备份数据mys ...
- MySQL 手动主从同步不锁表
有时候MySQL主从同步不一致比较严重的时候,需要手动同步. 然而网上看大很多需要锁表的同步的方法基本如下 1.先对主库锁表 FLUSH TABLES WITH READ LOCK; 2.备份数据 m ...
- Mysql不锁表备份之Xtrabackup的备份与恢复
一.Xtrabackup介绍 MySQL冷备.热备.mysqldump都无法实现对数据库进行增量备份.如果数据量较大我们每天进行完整备份不仅耗时且影响性能.而Percona-Xtrabackup就是为 ...
- mysql遇到锁表常用命令
出现 waiting for table metadata lock 锁表的解决方法 1. show processlist; kill xxx; //xxx 为会话id 2.查询是否有未提交的事物 ...
- sqlserver锁表、解锁、查看销表 (转载)
sqlserver中怎么锁表.解锁.查看销表呢,下面我以三个不同的实例给各位朋友详细介绍一下有需要的朋友可参考一下. 更多详细内容请查看:http://www.111cn.net/database/O ...
- oracle 锁表问题
oracle执行表数据更新的时候,会遇到锁表问题,比方说,会遇到这样的问题,主要原因是这张表被其他人占用,修改数据没有提交.oracle为了避免脏数据的产生,在其安全机制下,锁住该表. 执行如下操作, ...
随机推荐
- zabbix数据库需要多大硬盘?我告诉你
本次案例:100台服务器,每台服务器有30个监控项,每个监控项60秒刷新一次,需要多大的硬盘呢?众所周知,zabbix基本都是通过web配置,这些配置数据也是存放到数据库里的,但是它对硬盘容量的要求基 ...
- c语言之函数参数传递之数组篇(转)
在VC中写程序都习惯了,一般数组作为函数实参时,最常用的方法就是引用和指针的方法,但是到C语言中就没有引用了,还有一种比较常用的方法: #include <stdio.h>void sor ...
- 在Linux CentOS 6.6上安装RedisLive
Real time dashboard for redis 安装必须软件 1.安装pip到指定的python版本下面: curl -O https://bootstrap.pypa.io/get-pi ...
- ADF_Starting系列3_使用ADF开发富Web应用程序之开发User Interface
内容中包含 base64string 图片造成字符过多,拒绝显示
- python开发者框架套件总结: package 包 frameworks
python开发者的package 包 框架套件总结: frameworks 开发环境: anaconda pycharm django awesome-django : 介绍 django ...
- 浅谈cocos2dx(18) 中工厂模式
----我的生活.我的点点滴滴! ! cocos2d-x中也有工厂模式.何为工厂模式,顾名思义就是用来产生产品的,工厂就是用来创建其它类对象的类,我们把这个创建其它类对象的类叫做工厂类.而这些被创建的 ...
- 一步一步学android之控件篇——ListView基本使用
ListView组件在应用程序中可以说是不可或缺的一部分,ListView主要是显示列表数据,同时可以滚动查看,这篇博客主要是对ListView的基本用法进行说明,后面会依次对ListView点击动态 ...
- [转]一台电脑上的git同时使用两个github账户
需求: 公司有github账号,自己有github账号,想在git上同时使用,两者互不干扰. 思路: 管理两个SHH key. 解决方案: 一.生成两个SSH key 为了举例方便,这里使用“one” ...
- 修改eclipse.ini文件指定jdk
在eclipse.ini文件顶部插入 -vmE:/kfgj/Java/jdk1.7.0_21/bin/javaw.exe
- 微信小程序:冒泡事件及其阻止
事件的类别分为几种: 点击事件:tap 长按事件:longtap 触摸事件:touchstart: touchend:touchcancel:touchmove 其他:input:submit.... ...