MySQL InnoDB行锁类型测试(二)
一、InnoDB锁算法 InnoDB支持到行级别粒度的并发控制,下面我们分析下几种常见的行级锁类型,以及在哪些情况下会使用到这些类型的锁。 1)Record Lock(源码定义名称:LOCK_REC_NOT_GAP) 锁带上这个Flag时,表示这个锁对象只是单纯的锁在记录上,不会锁记录之前的GAP。在RC隔离级别下一般加的都是该类型的记录锁(但唯一二级索引上……
MySQL InnoDB锁系统阐述(一)
一、什么是锁? 开发多用户、数据库驱动的应用时,最大的难点是:一方面要最大程度地利用数据库的并发访问,另外一方面还要确保每个用户能以一致的方式读取和修改数据。为此就有了锁的机制。同时这也是数据库系统区别于文件系统的一个关键特性,InnoDB存储引擎之MySQL数据库的其他存储引擎在这方面技高一筹,就是因为它支持高并发,而高并发的实现很大程度上得益于细粒度的锁……
MySQL交换分区使用
MySQL 5.6开始支持ALTER TABLE … EXCHANGE PARTITION语句。该语句允许分区或子分区中的数据与另一个非分区的表中的数据进行交换。如果非分区表中的数据为空,那么相当于将分区中的数据移动到非分区表中。若分区表中的数据为空,则相当于将外部表中的数据导入到分区中。 要使用ALTER TABLE … EXCHA……
SQL中的where条件,在数据库中提取与应用浅析
一、问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍: 给定一条SQL,如……
MySQL备份恢复:Xtrabackup原理阐述
一、Xtrabackup介绍 Percona XtraBackup(简称 PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQL(Oracle)、Percona Server和 MariaDB,并且全部开源,真可谓是业界良心。据官方介绍,这也是世界上唯一一款开源的能够对Innodb和Xtradb存储引擎进行物理……
MySQL备份恢复:Xtrabackup使用实践
一、Xtrabackup安装 安装依赖包 $ yum install perl-Time-HiRes perl-DBI libev 1 $ yum install perl-Time-HiRes perl-DBI libev ……
MySQL触发器(trigger)
一、触发器介绍 MySQL的触发器和存储过程一样,都是嵌入到MySQL的一段程序,触发器是个特殊的存储过程。它们不同的是执行存储过程要使用CALL语句来调用,而触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE和DELETE语句。如果定义了触发程序,当对表执行INSERT、DELETE或UPDATE语句时,将激活触发程序。可以将触发程序设计……
MySQL视图(view)
一、视图的含义 在MySQL数据库中,视图(view)是一个命名的虚拟表,它由一个SQL查询来定义,或者说视图是从数据库中一个或多个表中导出来的表,并且视图还可以从已经存在的视图的基础上定义。视图可以当表使用,对视图的操作与对表的操作一样,可以对其进行查询、修改和删除。当对通过视图看到的数据进行修改时,相对的基本表的数据也要发送变化;同时,若基本表的数据发送……
MySQL存储过程和存储函数(二)
一、流程控制的使用 在存储过程中可以定义流程控制语句,流程控制语句用来根据条件控制语句的执行,MySQL中的用来构造控制流程的语句有:IF语句、CASE语句、LOOP语句、WHILE语句、LEAVE语句、ITERATE语句和REPEAT语句。每个流程中可能包含一个单独语句,或者是使用BEGIN…END构造的复合语句,构造可以被嵌套。下面介绍这些流程控制语句 ……
MySQL存储过程和存储函数(一)
一、存储过程与函数介绍 简单地说,存储过程就是一条或者多条SQL语句的集合,可视为批文件,但是其作用不仅限于批处理。 存储程序可以分为存储过程和函数,MySQL中创建存储过程和函数使用的语句分别是CREATE PROCEDURE和CREATE FUNCTION。 MySQL存储过程和函数有什么区别?在本质上他们都是存储程序,函数只能通过return语句返回单……
MySQL备份恢复:单线程mysqldump工具使用
一、mysqldump介绍 对于搞数据库的应该都知道,mysqldump是MySQL官方提供的用于逻辑备份的工具。 mysqldump优点:mysqldump的优点就是逻辑备份,把数据生成sql形式保存,在单库,单表数据迁移,备份恢复等场景方便,sql形式的备份文件通用,也方便在不同数据库之间移植。对于innodb表可以在线备份。 mysqldump缺点:……
MySQL备份恢复:磁盘LVM快照
LVM快照备份数据 LVM快照属于几乎热备,因为要先请求全局锁,而后创建快照,并在创建快照完成后释放全局锁,无法做到增量备份,并且数据目录必须在LVM逻辑卷上存放。 一、创建一个逻辑卷并挂载使用 1)先创建两个主分区类型为8e $ fdisk /dev/sdb Command (m for help): n Command ……