原始版: 直接读写数据库文件; 改进版1:undo log 将待未改数据备份到缓存,直接修改数据库文件; 改进版2: 将未修改和待修改数据写进顺序日志,定时同步到数据库。 核心是解决数据安全和io性能问题。 InnoDB 有两块非常重要的日志,一个是undo log,另外一个是redo log,前者
转载
2020-01-07 19:26:00
139阅读
2评论
数据库系统与文件系统最大的区别在于数据库能保证操作的原子性,一个操作要么不做要么都做,即使在数据库宕机的情况下,也不会出现操作一半的情况,这个就需要数据库的日志和一套完善的崩溃恢复机制来保证。下面简单介绍一下InnoDB的崩溃恢复流程。相关概念 lsn: 可以理解为数据库从创建以来产生的redo日志量,这个值越大,说明数据库的更新越多,也可以理解为更新的
转载
2023-12-17 21:14:25
62阅读
对于需要持久化数据的借助日志系统才能展开。日志记录了系统中发生的各个事务。基本的思路就是,把事务提交至数据库的同时,也在日志文件中记录一下。那么应该先提交事务,还
原创
2022-11-11 12:03:46
166阅读
log4j是一个优秀的开源日志记录项目,我们不仅可以对输出的日志的格式自定义,还可以自己定义日志输出的目的地,比如:屏幕,文本文件,数据 库,甚至能通过socket输出。本节使用MySQL数据库主要讲述如何将日志信息输入到数据库中。 用log4j将日志写入数据库主要用到是log4j包下的JDBCAppender类
转载
2024-04-03 20:22:32
67阅读
MySQL 中的日志比较重要的有 binlog(归档日志)、redo log(重做日志)以及 undo log,那么跟我们本文相关的主要是 binlog,另外两个日志松哥将来有空了再和大家详细介绍。1. binlogbinlog 我们中文一般称作归档日志,如果大家看过松哥之前发的 MySQL 主从搭建,应该对这个日志有印象,当我们搭建 MySQL 主 从 的时候就离不开 binlog(传送门:My
转载
2023-10-16 13:44:35
119阅读
1.日志相关概念 1.1日志分类 1.undo日志2.redo日志3.undo/redo日志(这一类型的日志不是简单的undo,redo的组合) 1.2日志的特性 1.单条日志记录记载某个事物已经做的某个动作的信息2.单条日志记录记载某个事物已经做的某个动作的信息3.日志记录最初在内存中创建,再在适时的时候记录到磁盘中 1.3日志所做的修复工作 1.某一些事物所做的
转载
2024-05-10 19:02:41
40阅读
MySQL数据库中的日志MySQL日志:事务日志(mysql的innodb存储引擎层日志)重做日志(事务日志之redo log)1、redo log的作用2、redo log的内容3、redo log生命周期:redo log什么时候产生4、redo log生命周期:redo log什么时候释放5、redo log对应的物理文件6、redo log是什么时候写盘的?回滚日志(事务日志之undo
转载
2023-08-11 14:29:29
548阅读
我们在使用Mysql 里会接触到三个核心日志分别是 binlog 、redo log、undo log, 这里面binlog 是server层的日志,而redo log 和undo log都是引擎层(innodb)的日志,要换其他数据引擎那么就未必有redo log和undo log了。也正是因为它们在Mysql不同的体系结构里,所以他们所针对的的问题也是完全不同的,而我们要了解这些日志的核心思想
转载
2024-01-28 05:54:06
56阅读
1 前言
数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线程。T3,T4以此类推。下面以SQL Server(2005)为例。
2 锁的种类
共享锁(Shared lock)
例1:
T1: select * from ta
转载
2021-06-21 21:13:57
93阅读
锁定机制的优劣直接应想到一个数据库系统的并发处理能力和性能,所以锁定机制的实现也就成为了各种数据库的核心技术之一。本章将对MySQL中两种使用最为频繁的存储引擎MyISAM和Innodb各自的锁定机制进行较为详细的分析。 MySQL锁定机制简介 数据库锁定机制简单来说就是数据库为了保证数据的一致性而
转载
2016-09-30 16:46:00
148阅读
2评论
16、数据库锁机制 一、数据库的锁机制 什么是锁?为何要加入锁机制? 锁是计算机协调多个进程或线程并发访问某一资源的机制,那为何要加入锁机制呢? 因为在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的资源。 当并发事务同时访问一个共享的资源时,有可能 ...
转载
2021-10-12 17:27:00
1495阅读
2评论
1 前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,为下面描述方
转载
2017-04-16 20:59:22
24阅读
这段时间由于开发项目,重新学习了数据库的并发控制和锁机制。数据库就是通过锁机制来解决并发问题的。
主要就是两种锁,共享锁和排他锁(也叫独占锁)。在执行select语句的时候需要给操作对象(表或者一些记录)加上共享锁,但加锁之前需要检查是否有排他锁,如果没有,则可以加共享锁(一个对象上可以加n个共享锁),否则不行。共享锁通常在执行完select语句之后被释放,当然也有可能是在
转载
2013-02-26 23:42:00
170阅读
2评论
1 前言数据库大并发操作要考虑死锁和锁的性能问题。看到网上大多语焉不详(尤其更新锁),所以这里做个简明解释,
原创
2022-05-11 13:00:49
218阅读
数据库面试题**不断更新中**21. 如何防范SQL注入式攻击22. 默认的系统数据库有哪些23. 默认创建一个数据库,会生成那些文件24. 创建数据库时,能不能把数据文件和日志文件分开25. 什么是索引覆盖(Index Covering)查询?26.存储过程和函数的区别27. 聚集索引和非聚集索引的区别28.索引的优缺点,什么时候使用索引,什么时候不能使用索引29. 数据库优化30. 索引分类
转载
2024-08-26 15:20:36
26阅读
Sybase SQL Server 的每一个数据库,无论是系统数据库(master,model, sybsystemprocs, tempdb),还是用户数据库,都有自己的transaction log,每个库都有 syslogs表。Log记录用户对数据库修改的操作,所以如果不用命令清除, log会一直增长直至 占满空间。清除log可用dump transaction 命令;或者开放数据库选项tr
转载
2023-09-03 08:10:11
160阅读
MySQL日志主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志;日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等。当数据库遭到意外的损坏时,可以通过日志查看文件出错的原因,并且可以通过日志文件进行数据恢复。错误日志在mysql数据库中,错误日志功能是默认开启的。
转载
2023-08-31 06:52:43
157阅读
MySQL日志管理 文章目录MySQL日志管理一、简介二、MySQL的日志类型1、错误日志2、通用查询日志3、二进制日志4、慢查询日志三、查看日志1、查看错误日志是否开启2、查看通用查询日志是否开启3、查看二进制日志是否开启4、查看慢查询日志是否开启4.1 查看慢查询时间设置4.2 在数据库中设置开启慢查询的方法 一、简介日志文件是掌握数据库运行状态的重要参考MySQL 日志的默认保存位置为 /u
转载
2023-11-13 10:04:16
160阅读
一、查询日志 用来保存所有跟查询相关的日志,这种日志类型默认是关闭状态的,因为MySQL用户有很多,如果将每个用户的查询操作都记录下来的话,对服务器的资源开销也是一件令人烦恼的事情。查询日志常见的几个参数:1 mysql> show global variables like 'log'; #查看是否记录所有语句的日志信息于一般查询日志文件(general
转载
2023-06-10 12:23:12
4452阅读
/u01/app/oracle/diag/tnslsnr/pdatestapp/listener/alert/[oracle@fossdb alert]$ ll总用量 102436-rw-r----- 1 oracle oinstall 10485847 5月 7 09:05 log_1.xml-rw-r----- 1 oracle oinstall 10486116 &n
原创
2016-02-17 09:48:45
1783阅读