文章 2023-03-28 来自:开发者社区

【MySQL】innodb_log_file_size=256M,是干什么的?底层原理是什么?

innodb_log_file_size参数用于设置InnoDB存储引擎的redo日志文件的大小。redo日志文件记录了所有的事务操作,以便在MySQL服务重启或崩溃时进行恢复。具体来说,它包含了所有已提交的事务的操作,以及正在进行的事务的操作。该参数的值决定了InnoDB存储引擎的redo日志文件的大小,单位为字节。增加该参数的值可以增加redo日志的容量,这可以提高数据库的容错能力和可靠性,....

文章 2023-03-28 来自:开发者社区

【MySQL】innodb_log_buffer_size=4M,是干什么的?底层原理是什么?

innodb_log_buffer_size 是 MySQL 中 InnoDB 存储引擎用来缓存日志数据的缓冲区大小。InnoDB 是一种事务型存储引擎,用于处理高并发的 OLTP (Online Transaction Processing) 场景,其通过将数据写入日志文件 (redo log) 来保证事务的原子性、一致性、隔离性和持久性。在事务提交时,InnoDB 会将该事务所产生的所有日志....

文章 2023-03-28 来自:开发者社区

【MySQL】innodb_flush_log_at_trx_commit=1,是干什么的?底层原理是什么?

在MySQL中,事务的提交过程需要写入事务日志(也称为redo日志)和数据页。innodb_flush_log_at_trx_commit是InnoDB存储引擎的一个参数,它决定了事务提交时日志缓冲区的刷写策略。当innodb_flush_log_at_trx_commit=1时,表示每次事务提交都会将事务日志写入磁盘,这样可以保证事务的持久性,即使发生系统崩溃或意外断电,数据也不会丢失。这是默....

文章 2023-03-27 来自:开发者社区

MySQL的中转日志是干什么的?底层原理是什么?

MySQL的中继日志(Relay Log)是一种特殊类型的二进制日志,用于存储主服务器复制事件(如修改、删除、插入等)的副本。中继日志由备用服务器上的复制线程维护,该线程从主服务器获取日志并将其应用于备用服务器的数据。中继日志是主从复制的关键机制之一,它允许备用服务器将主服务器上的更改应用于本地数据。具体来说,当从服务器连接到主服务器时,主服务器将发送其二进制日志的副本到从服务器。然后,从服务器....

文章 2023-03-27 来自:开发者社区

所有的MySQL数据库都有redo log吗?底层原理是什么?

不是所有的MySQL数据库都有redo log。redo log是InnoDB存储引擎的特性,只有使用InnoDB存储引擎的MySQL数据库才会有redo log。InnoDB存储引擎是MySQL默认的存储引擎,也是目前最流行的存储引擎之一。InnoDB引擎将数据存储在表空间中,为了确保数据的一致性和持久性,它使用了多种技术,包括redo log。redo log是一个固定大小的循环日志缓冲区,....

文章 2023-03-27 来自:开发者社区

MySQL的Binlog日志和Relay Log日志存储的SQL都是一样的吗?底层原理是什么?

MySQL的Binlog日志和Relay Log日志存储的SQL语句不完全一样。Binlog日志是在主库上生成的,记录了所有的DDL和DML操作,而Relay Log日志是在从库上生成的,记录了从主库上接收到的Binlog日志并在从库上执行的所有SQL语句。因此,在主从复制过程中,由于Replica I/O Thread和Replica SQL Thread两个线程的处理方式不同,从主库接收到的....

文章 2023-03-27 来自:开发者社区

MySQL的Binlog日志和Relay Log日志都可以用来主从复制,区别是什么?底层原理是什么?

MySQL的Binlog日志和Relay Log日志都可以用来主从复制,它们之间的区别如下:Binlog日志是由主库产生的,记录了主库上所有的写操作,包括DDL和DML操作。而Relay Log日志是由从库产生的,记录了从库复制主库Binlog日志过程中执行的所有操作。Binlog日志的格式可以是statement、row或mixed,其中statement格式记录SQL语句,row格式记录行级....

文章 2023-03-27 来自:开发者社区

为什么MySQL的恢复需要日志文件?底层原理是什么?

MySQL的恢复需要日志文件是因为在数据库运行时,它会将所有的数据库操作记录在日志文件中,包括插入、更新、删除等操作,称为"事务日志"(Transaction Log),这个日志文件可以帮助MySQL在出现故障时进行恢复。具体地说,MySQL的日志文件有两种类型:redo log和binlog。redo log是MySQL引擎层面的日志,记录的是对InnoDB表空间进行的修改操作。在数据库发生故....

文章 2023-03-27 来自:开发者社区

MySQL的Relay Log日志是干什么的?底层原理是什么?

MySQL的Relay Log(中继日志)是MySQL的主从同步复制过程中的一种日志,用于记录主库(master)上的二进制日志中的事件,然后传输到从库(slave)进行重放,以实现从库和主库数据的同步。Relay Log的底层原理是当从库连接到主库时,从库会请求主库的二进制日志中的某个位置开始读取二进制日志,主库会发送从该位置开始的二进制日志到从库,并将这些日志写入到从库的Relay Log中....

文章 2023-03-27 来自:开发者社区

MySQL的General Query日志是干什么的?底层原理是什么?

MySQL的General Query日志是用来记录MySQL服务器处理每个查询请求的详细信息的日志文件。这些详细信息包括查询的时间、执行的语句、执行的时间以及查询的用户等。General Query日志可以帮助管理员分析MySQL服务器的性能问题和查询优化问题。General Query日志的底层原理是在MySQL服务器运行时,系统会将每个查询请求的详细信息写入到General Query日志....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

阿里云日志服务SLS

SLS是一站式云原生可观测性数据平台,一站式提供数据采集、加工、查询与分析、可视化等功能。日常更新产品最新动态,最佳实践以及技术大咖的观点和经验。

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问