日志文件记录 MySQL 数据库运行期间发生的变化,当数据库遭到意外的损害时,可以通过日志文件查询出错原因,并进行数据恢复
MySQL 日志文件可以分成以下几类:
- 二进制日志:记录所有更改数据的语句,可以用于主从复制
- 错误日志:记录 MySQL 服务出现的问题
2025年05月25日
日志文件记录 MySQL 数据库运行期间发生的变化,当数据库遭到意外的损害时,可以通过日志文件查询出错原因,并进行数据恢复
MySQL 日志文件可以分成以下几类:
2025年05月25日
binlog(二进制日志)主要记录 MySQL 数据库的变化. 它会记录所有更改表数据和表结构的事件。
使用binlog日志主要有两种用途
2025年05月25日
当使用InnoDB引擎删除一行数据时,实际上并不会在内存上留下空洞。InnoDB存储引擎采用了多版本并发控制(MVCC)机制来实现事务的隔离性,每行记录都会保存两个隐藏列,一个保存行的创建版本,另一个保存行的删除版本。在删除一行数据时,InnoDB会将该行的删除版本号设置为当前事务的版本号,而不是直接在内存上删除该行数据。这样做的好处是可以保证事务的隔离性,同时也可以在需要恢复数据时方便地找回被删除的数据。但是,如果进行了大量删除操作,可能会在磁盘上留下空洞,这会影响读取性能。
2025年05月25日
如果你熟悉 MySQL 缓冲池(不熟悉可以查看 一条 sql 的执行过程详解),可能会觉得是因为删除操作只更新到缓冲池和 redo log,并没有进行 flush 落盘,但如果关闭数据库,触发 flush ,会发现表文件大小还是不会改变,这是为什么?
2025年05月25日
摘要:在 MySQL 数据库管理中,常常需要执行删除数据的操作。本文将详细介绍 MySQL 中的 DELETE 和 TRUNCATE 命令的用法及它们之间的区别,帮助读者更好地理解和使用这两种命令。
2025年05月25日
今天学习的主要内容是刘金玉老师MySQL数据库零基础教程第8期。
一、使用sql命令进入数据库
(一)使用前工作:在使用mysql数据库之前,需要确定mysql服务是否启用,通过cmd输入netstat -ano语句查看是否存在3306端口,如果有3306端口,则数据库已打开, 如果没有则需要在开始菜单栏输入services.msc打开服务管理窗口,找到mysql80启动sql服务。
2025年05月25日
1:官方百万级别的测试数据库:
官方测试数据库github网址:
https://github.com/datacharmer/test_db
2025年05月25日
众所周知,事务的一大特点是原子性,即同一事务的SQL要同时成功或者失败。那大家有没有想过在MySQL的innoDB存储引擎中是如何保证这样的原子性操作的?实际上它是利用事务执行过程中生成的日志undo log来实现的,那么undo log究竟是怎么一回事呢?
2025年05月25日
业务中 有会碰到 数据库中大量 冗余数据的情况。比如压测场景,这个时候就需要我们去清理这些数据。
怎么操作呢?这个时候 mysql 的 hint 就可以派上用场了,直接上语句:
DELETE /*+ QUERY_TIMEOUT(9000000000) */ from ACT_RU_TASK where PROC_DEF_ID_ like '%OPEN_CLAIM%' limit 100000;
Powered By Z-BlogPHP 1.7.4