主从复制是异步复制,可以通过google的一个插件实现半同步E.1主从复制原理1、建立主从复制的用户名和密码2、将master上主库需要进行复制的库“锁库”3、通过mysqldump备份master上主库,“解锁“,在slave端进行恢复4、更改配置文件5、在丛库上执行changemasterto6、开启复制
分类:
数据库 时间:
2015-07-13 01:06:37
阅读次数:
156
【共享锁】【读锁】共享锁(Share locks 简记为S锁)【独占锁】(事务结束释放)【写锁】排它锁(Exclusive locks 简记为X锁)【更新锁】(避免共享锁的死锁情况)【封锁协议 】 1 级封锁协议是:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(....
分类:
数据库 时间:
2015-07-04 00:49:20
阅读次数:
154
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.session_i...
分类:
数据库 时间:
2015-06-01 14:42:02
阅读次数:
148
1、需求应用场景是这样的:使用Oracle数据保存待办任务,使用状态字段区分任务是否已经被执行。多个Worker线程同时执行任务,执行成功或失败后,修改状态字段的值。假设数据库表结构如下所示。create table Task(
id varchar2(32),
name varchar2(32),
flag varchar2(1),
worke...
分类:
数据库 时间:
2015-05-21 06:40:48
阅读次数:
285
在一个update和insert操作频繁的表中,少量数据测试的时候运行良好,在实际运营中,因数据量比较大(21万条记录),会出现死锁现象,用show processlist查看,可以看到一个update语句状态是Locked,一个delete语句状态是Sending data。查看了一下参考手册,把锁定相关的资料整理下来,以便自己记录和追踪该问题的解决情况:
MySQL 5.1支持对MyIS...
分类:
数据库 时间:
2015-05-18 18:52:50
阅读次数:
154
如何查看锁了解SQL Server在某一时间点上的加锁情况无疑是学习锁和诊断数据库死锁和性能的有效手段。我们最常用的查看数据库锁的手段不外乎两种:使用sys.dm_tran_locks这个DMVSQL Server提供了sys.dm_tran_locks这个DMV来查看当前数据库中的锁,前面的图2就...
分类:
数据库 时间:
2015-05-07 20:07:02
阅读次数:
150
1.数据库锁就是为了保证数据库数据的一致性在一个共享资源被并发访问时使得数据访问顺序化的机制。MySQL数据库的锁机制比较独特,支持不同的存储引擎使用不同的锁机制。2.MySQL使用了三种类型的锁机制,分别为:表级锁,行级锁,页级锁,它们的特性如下所示。表级锁:实现逻辑较为简单,加锁速度快,开销小,...
分类:
数据库 时间:
2015-04-27 19:42:52
阅读次数:
141
前言
前段时间在线上和项目当中遇到了很多关于用mysql的GET_LOCK()函数获取锁导致的一些问题,主要有两类问题:
1、一个连接中不能同时获取两把锁,因为获取后一个的时候会自动释放前面一把锁;另外如果获得锁或者释放锁所使用的connection不一样,假如获得锁的connection被连接池回收了,也可能会导致第一把锁自动释放,最终导致你的业务还没有处理完,...
分类:
数据库 时间:
2015-04-19 16:16:00
阅读次数:
145
【概述】在日常中,我们对for update的使用还是比较普遍的,特别是在如pl/sql developer中手工修改数据。此时只是觉得方便,而对for update真正的含义缺乏理解:For update是Oracle提供的手工提高锁级别和范围的特例语句,Oracle的锁机制是目前各类型数据库锁机...
分类:
数据库 时间:
2015-04-18 17:30:51
阅读次数:
186
SELECT bs.username "Blocking User", bs.username "DB User", ws.username "Waiting User", bs.SID "SID", ws.SID "WSID", bs.serial# "Seri...
分类:
数据库 时间:
2015-04-16 11:47:23
阅读次数:
213