MySQL都有什么锁? MySQL有三种锁的级别:页级.表级.行级. 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. 行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最低,并发度也最高. 页面锁:开销和加锁时间界于表锁和行锁之间:会出现死锁:锁定粒度界于表锁和行锁之间,并发度一般 算法: next KeyLocks锁,同时锁住记录(数据),并且锁住记录前面的Gap Gap锁,不锁记录,仅仅记录前面的Gap Recordlock锁(锁数据,不…
1.    mysql都有什么锁 MySQL有三种锁的级别:页级.表级.行级. 表级锁:开销小,加锁快:不会出现死锁:锁定粒度大,发生锁冲突的概率最高,并发度最低. 行级锁:开销大,加锁慢:会出现死锁:锁定粒度最小,发生锁冲突的概率最低,并发度也最高. 页面锁:开销和加锁时间界于表锁和行锁之间:会出现死锁:锁定粒度界于表锁和行锁之间,并发度一般 算法: next KeyLocks锁,同时锁住记录(数据),并且锁住记录前面的Gap Gap锁,不锁记录,仅仅记录前面的Gap Recordlock锁(…
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常.下面我们就来讨论以下这个异常出现的原因以及解决办法. 以下是本文目录大纲: 一.ConcurrentModificationException异常出现的原因 二.在单线程环境下的解决办法 三.在多线程环境下的解决方法 若有不…
MySQL支持多种数据类型,大致可以分为数值,日期/时间和字符类型. 数值类型 MySQL支持所有标准SQL数值数据类型,包括严格数值数据类型(INTEGER.SMALLINT.DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT.REAL和DOUBLE PRECISION),除了这些还支持TINYINT.MEDIUMINT和BIGINT.这些类型的占用字节和范围如下所示. 类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128,127) (0,25…
一  序言在运维线上M-M 架构的MySQL数据库时,接收的比较多关于主备延时的报警: 点击(此处)折叠或打开 check_ins_slave_lag (err_cnt:1)critical-slavelag on ins:3306=39438 相信slave 延迟是MySQL dba 遇到的一个老生长谈的问题了.先来分析一下slave延迟带来的风险  1. 异常情况下,主从HA无法切换.HA 软件需要检查数据的一致性,延迟时,主备不一致.   2. 备库复制hang会导致备份失败(flush…
一  序言在运维线上M-M 架构的MySQL数据库时,接收的比较多关于主备延时的报警: 点击(此处)折叠或打开 check_ins_slave_lag (err_cnt:1)critical-slavelag on ins:3306=39438 相信slave 延迟是MySQL dba 遇到的一个老生长谈的问题了.先来分析一下slave延迟带来的风险  1. 异常情况下,主从HA无法切换.HA 软件需要检查数据的一致性,延迟时,主备不一致.   2. 备库复制hang会导致备份失败(flush…
在入职三周后,终于赶齐了接手项目落下两个月的项目,有了一些自己的空闲时间对项目进行整理.主要整理包括类目的整合,从原来一个系统文件夹下几百个文件整改为以MVC设计思想为原则的分文件夹整理类目,井然有序了很多,也不需要再用查找关键字来寻找想要找的类了,中间因为类目文件位置的修改而出现了很多问题.其次还包括一些代码的整合,包括一些多个类中都需要使用的代码,我们可以创建一个工具类来封装调用,或者使用一个根类来集成代码. 在做完了以上工作后,我又把关注重点放在了150多个warning之上.作为一个强迫…
一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking):InnoDB存储引擎既支持行级锁( row-level locking),也支持表级锁,但默认情况下是采用行级锁. MySQL主要的两种锁的特性可大致归纳如下: 表级锁: 开销小,加锁快:不会出现死锁(因为MyISAM会一次性获得SQL所需的全部锁):锁定粒度大,发生锁冲突的概率最高,并发度最…
MySQL_MHA ABB(主从复制)-->MHA(实现mysql高可用.读写分离.脚本控制vip飘逸)-->haproxy(对slave集群实现分发,负载均衡)-->keepalive(预防一台haproxy单点故障,对两台及以上的haproxy实现高可用) 一.MHA MySQL high available mysql高可用 ABB 适用于0~30台服务器 条件:最少3台,即最少为ABB架构 MHA是由一名日本人用Perl语言开发出来的 组成:manager节点 .node节点 工…
存储过程是MySql 5支持的特性,它是一组为了完成特定功能的SQL语句集,经过编译之后存储在数据库中,当需要使用该组SQL语句时用户只需要通过指定储存过程的名字并给定参数就可以调用执行它了,简而言之就是一组已经写好的命令,需要使用的时候拿出来用就可以了.有点像我们在Java类中写的方法,我们可以根据需要传入参数,调用该方法. 存储过程通常有以下优点: 1)存储过程能实现较快的执行速度.如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很…