一、背景: 线上一个主库压力比较大,所以增加一个从库,但是不能重启或者停止主库的正常运行,不能锁库锁表影响业务的正常运行。所以这里想到了XtraBackup 二、XtraBackup介绍: Xtrabackup的优点: 1、备份完成快速、可靠 2、备份期间不间断的事务处理 3、节省磁盘空间和网络带宽 ...
分类:
数据库 时间:
2016-08-07 15:27:37
阅读次数:
256
这是有执行的update或者insert造成你目前正在操作的表锁表了 SQL> select session_id from v$locked_object; SESSION_ID 56 SQL> SELECT sid, serial#, username, osuser FROM v$sessio ...
分类:
其他好文 时间:
2016-08-04 06:47:54
阅读次数:
202
复制从库主要步骤: 可以看到,从主库复制会有段时间锁表,这段时间会影响主库的使用。如果我们能直接从从库进行复制,就不会对主库产生影响了。但是,从从库复制要保证的是复制过程中从库上的数据不会发生变化,所以要先停掉从库。 1.停止从库: mysql> stop slave; 2.看当前从库的状态。和前面 ...
分类:
数据库 时间:
2016-08-03 01:20:23
阅读次数:
294
CleverCode研究了一下,怎么kill掉慢的sql语句。
1 单个kill
mysql> show processlist;
mysql > kill 251;
#批量kill
1)查找Lockd语句
mysql -uroot -p123456 -h 192.1.20.101 -e "show processlist" | grep -i 'Loc...
分类:
数据库 时间:
2016-07-22 19:13:35
阅读次数:
248
解决办法: 查询锁表情况: select o.object_name, machine, s.action,s.TERMINAL, s.sid, s.serial# from v$locked_object l, dba_objects o, v$session s where l.object_i ...
分类:
其他好文 时间:
2016-07-21 19:40:06
阅读次数:
121
悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Op ...
分类:
其他好文 时间:
2016-07-21 00:47:40
阅读次数:
213
一、MySQL的并发控制1、MySQL的并发控制在服务器层和存储引擎层完成锁:lock读锁:共享锁,可以几个用户同事读取,但不能写写锁:独占锁,锁粒度:锁表时锁表的范围(比如一个用户读前三行,一个用户写入最后一行)表级锁:innodb表级锁行级锁:myisa行级锁(锁控制复杂)死锁:..
分类:
数据库 时间:
2016-07-19 11:29:04
阅读次数:
229
第一次随笔记录 代码结构可以复用,数据的存储位置不要复用,无论在内存里还是数据库里。表设计时即便是相同的数据,也要按着功能模块分开,不要太在乎冗余(反范式),磁盘是廉价的,因为不同功能模块的并发逻辑涌向一个表时,会被锁表。 而且,一般的业务逻辑不需要事务。如果太在意数据库数据冗余,可以引入nosql ...
分类:
其他好文 时间:
2016-07-17 09:25:41
阅读次数:
126
http://seanlook.com/2016/05/27/mysql-pt-online-schema-change/ 如果正在看这篇文章,相信你已经知道自己的需求了。 在 mysql 5.5 版本以前,修改表结构如添加索引、修改列,需要锁表,期间不能写入,对于大表这简直是灾难。从5.5特别是5 ...
分类:
其他好文 时间:
2016-07-16 00:47:56
阅读次数:
304
查询 被锁的表 SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.sessi ...
分类:
数据库 时间:
2016-07-15 19:47:06
阅读次数:
234