【转】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数据库,所以会锁住dbn…
1.mysqldump命令备份Mysql数据库的参数说明 在用mysqldump备份使用那些参数选项是最完美的组合呢?--skip-opt--create-option                     ----添加create相关的选项--single-transaction                ----一致性备份-q                  ----采用快速的dump方式(提高导出性能)-e                  ----采用多重insert语句形式(提…
参考URL: http://rfyiamcool.blog.51cto.com/1030776/1016636/ 原因源于其实以前环境是有MYSQL主从复制的,且最开始主从复制之间是OK的. 但由于日志长得太多,同步来不急,磁盘空间满了之后,失了很多记录.所以必须重新作主从,但主已不能被影响了. ~~~~~~~~~~~~~~~~~~~~~~~~ 那就用XTRABACKUP吧,,阿里RDS也是用这个工作来作一些备份恢复的. 基于上,理想了思路,多参考几个网上文章就可以开始啦.. 但数据库太多,备份…
全局锁 全局锁是针对数据库实例的直接加锁,MySQL 提供了一个加全局锁的方法, Flush tables with read lock 可以使用锁将整个表的增删改操作都锁上其中包括 ddl 语句,只允许全局读操作. 全局锁的典型使用场景是做全库的逻辑备份. 不过现在使用官方自带工具 mysqldump 使用参数 --single-transaction 的时候,导出数据之前就会启动一个事务.来确保拿到一致性视图.这个应该类似于在可重复读隔离级别下启动一个一致性事务.由于 MVCC 的支持,这个…
有时候MySQL主从同步不一致比较严重的时候,需要手动同步.先说说在锁表的情况下如何操作:以下是其简要过程 1.先对主库锁表FLUSH TABLES WITH READ LOCK; 2.备份数据mysqldump -uroot -p -hlocalhost > mysql.bak.sql 3.解锁主库unlock tables; 4.查看主库的binlog文件和位置show master status; 找出File和Position 5.使用scp命令把文件移动到从库scp mysql.bak…
有时候MySQL主从同步不一致比较严重的时候,需要手动同步. 然而网上看大很多需要锁表的同步的方法基本如下 1.先对主库锁表 FLUSH TABLES WITH READ LOCK; 2.备份数据 mysqldump -uroot -p -hlocalhost > mysql.bak.sql 3.解锁主库 unlock tables; 4.查看主库的binlog文件和位置 show master status; 找出File和Position 5.使用scp命令把文件移动到从库 scp mysq…
一.Xtrabackup介绍 MySQL冷备.热备.mysqldump都无法实现对数据库进行增量备份.如果数据量较大我们每天进行完整备份不仅耗时且影响性能.而Percona-Xtrabackup就是为了实现增量备份用于MySQL数据库物理热备的备份工具,xtrabakackup有2个工具,分别是xtrabakup.innobakupex. 二.Xtrabackup优点 (1)备份速度快,物理备份可靠 (2)备份过程不会打断正在执行的事务(无需锁表) (3)能够基于压缩等功能节约磁盘空间和流量 (…
出现 waiting for table metadata lock 锁表的解决方法 1. show processlist; kill xxx; //xxx 为会话id 2.查询是否有未提交的事物 select * from information_schema.innodb_trx 参考资料: 1. http://www.cnblogs.com/digdeep/p/4892953.html…
sqlserver中怎么锁表.解锁.查看销表呢,下面我以三个不同的实例给各位朋友详细介绍一下有需要的朋友可参考一下. 更多详细内容请查看:http://www.111cn.net/database/Oracle/44460.htm 锁定数据库的一个表 代码如下 复制代码 SELECT * FROM table WITH (HOLDLOCK) 注意: 锁定数据库的一个表的区别 代码如下 复制代码 SELECT * FROM table WITH (HOLDLOCK) 其他事务可以读取表,但不能更新…
oracle执行表数据更新的时候,会遇到锁表问题,比方说,会遇到这样的问题,主要原因是这张表被其他人占用,修改数据没有提交.oracle为了避免脏数据的产生,在其安全机制下,锁住该表. 执行如下操作,select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid ; 可以查出,占用该表的用户,以及进程和时间等,查出该表被锁的相关信息…