草庐IT

MySQL事务详解

什么是事务?事务是一个不可分割的工作单元,工作单元要么工作完成,要么什么也不做。从应用层面来说一个事务对应了一个完整的业务功能。从数据库层面的来讲事务就是由一批DML语句构成。事务的分类MySQL的InnoDB存储引擎支持扁平事务、带有保存点的事务、链事务、分布式事务。扁平事务(FlatTransactions)扁平事务应用最为广泛,实现最为简单,扁平事务的所有操作都是在同一个层级,这些操作要么全部成功,要么全部回滚,不能存在部分提交或者部分回滚的的场景。扁平事务带保存点的扁平事务(FlatTransactionswithSacepoint)扁平事务的限制就在于不能部分回滚或者提交,而有的场景

美团一面:能不能通俗的解释下为什么要有意向锁这个东西?

众所周知,InnoDB中既有读锁也有写锁,也称为共享锁和排他锁,这两种锁既可以加在整张表上,也可以加在行上。MySQL自身就提供了表锁的能力:读锁:LOCKTABLEtable_nameREAD 用读锁锁表,会阻塞其他事务的写操作写锁:LOCKTABLEtable_nameWRITE 用写锁锁表,会阻塞其他事务的读和写操作行锁是InnoDB存储引擎提供的,MySQL本身并不提供行级锁的能力:读锁,如SELECT*FROMtable_nameWHERE...LOCKINSHAREMODE 加行级读锁,会阻塞其他事务对该行记录的写操作写锁,如SELECT*FROMtable_nameWHERE..

MySQL 8.0数据字典有什么变化

​1.MySQL8.0数据字典有什么变化从MySQL8.0开始,采用独立表空间模式的每个InnoDB表只有一个.ibd表空间文件,而不再有.frm文件了。为了实现DDL的原子性,InnoDB直接把元数据存储在表空间文件中,需要的话,可是使用 ibd2sdi 工具从中读取,例如:$ibd2sditest/t1.sdi["ibd2sdi",{"type":1,"id":1268,"object":{"mysqld_version_id":80031,"dd_version":80023,"sdi_version":80019,"dd_object_type":"Table",...{"type":

MySQL事务详解

什么是事务?事务是一个不可分割的工作单元,工作单元要么工作完成,要么什么也不做。从应用层面来说一个事务对应了一个完整的业务功能。从数据库层面的来讲事务就是由一批DML语句构成。事务的分类MySQL的InnoDB存储引擎支持扁平事务、带有保存点的事务、链事务、分布式事务。扁平事务(FlatTransactions)扁平事务应用最为广泛,实现最为简单,扁平事务的所有操作都是在同一个层级,这些操作要么全部成功,要么全部回滚,不能存在部分提交或者部分回滚的的场景。扁平事务带保存点的扁平事务(FlatTransactionswithSacepoint)扁平事务的限制就在于不能部分回滚或者提交,而有的场景

美团一面:能不能通俗的解释下为什么要有意向锁这个东西?

众所周知,InnoDB中既有读锁也有写锁,也称为共享锁和排他锁,这两种锁既可以加在整张表上,也可以加在行上。MySQL自身就提供了表锁的能力:读锁:LOCKTABLEtable_nameREAD 用读锁锁表,会阻塞其他事务的写操作写锁:LOCKTABLEtable_nameWRITE 用写锁锁表,会阻塞其他事务的读和写操作行锁是InnoDB存储引擎提供的,MySQL本身并不提供行级锁的能力:读锁,如SELECT*FROMtable_nameWHERE...LOCKINSHAREMODE 加行级读锁,会阻塞其他事务对该行记录的写操作写锁,如SELECT*FROMtable_nameWHERE..

MySQL Dump详解,你学会了吗?

在进行数据库备份的时候主要分为了逻辑备份和物理备份这两种方式。在数据迁移和备份恢复中使用mysqldump将数据生成sql进行保存是最常用的方式之一。本文将围绕着mysqldump的使用,工作原理,以及对于InnoDB和MyISAM两种不同引擎如何实现数据一致性这三个方面进行介绍。一.mysqldump简介mysqldump是MySQL自带的逻辑备份工具。它的备份原理是通过协议连接到MySQL数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些数据时,只要执行这些insert语句,即可将对应的数据还原。二.备份的命令2.1命令的格式1.mysqldu

MySQL Dump详解,你学会了吗?

在进行数据库备份的时候主要分为了逻辑备份和物理备份这两种方式。在数据迁移和备份恢复中使用mysqldump将数据生成sql进行保存是最常用的方式之一。本文将围绕着mysqldump的使用,工作原理,以及对于InnoDB和MyISAM两种不同引擎如何实现数据一致性这三个方面进行介绍。一.mysqldump简介mysqldump是MySQL自带的逻辑备份工具。它的备份原理是通过协议连接到MySQL数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些数据时,只要执行这些insert语句,即可将对应的数据还原。二.备份的命令2.1命令的格式1.mysqldu

存储引擎 - InnoDB

存储结构5.7-引擎架构图内存结构内存结构主要包括BufferPool、ChangeBuffer、AdaptiveHashIndex和LogBuffer四大组件BufferPool缓冲池,简称BP。BP以Page页为单位,默认大小16K。BP的底层采用链表数据结构管理Page。在InnnoDB访问表记录和索引是会在Page页中缓存,以后使用可以减少磁盘IO操作,提升效率。Page管理机制Page根据状态可以分为三种类型:freepage空闲Page,未被使用cleanpage被使用page,数据没有被修改过dirtypage脏页,被使用page,数据被修改过,页中数据和磁盘的数据产生了不一致针

存储引擎 - InnoDB

存储结构5.7-引擎架构图内存结构内存结构主要包括BufferPool、ChangeBuffer、AdaptiveHashIndex和LogBuffer四大组件BufferPool缓冲池,简称BP。BP以Page页为单位,默认大小16K。BP的底层采用链表数据结构管理Page。在InnnoDB访问表记录和索引是会在Page页中缓存,以后使用可以减少磁盘IO操作,提升效率。Page管理机制Page根据状态可以分为三种类型:freepage空闲Page,未被使用cleanpage被使用page,数据没有被修改过dirtypage脏页,被使用page,数据被修改过,页中数据和磁盘的数据产生了不一致针

关于大型mysql(innodb)数据库:大型mysql(innodb)数据库-查询性能慢,表消失,恢复备份时间长

largemysql(innodb)database-slowqueryperformance,disappearingtablesandlongtimetorestorebackups我有一个数据库,其中有3个表,每个表的行数超过2000万。我使用GUID作为主键(不幸的是)。现在我们的数据库大约有20GB,并且每月增长5GB。完全备份数据库大约需要2小时,在4GBRAM的机器上恢复需要30小时。我们曾经让数据库中的所有表都消失了。同一台服务器中的其他mysql数据库都很好,除了一个-只有一个数据消失了,留下了空表。选择查询(在许多慢查询中)-在20m表之一中获取日期列的最大值大约需要5分钟