MySQL expire_logs_days 参数用于控制Binlog文件的保存时间,当Binlog文件存在的时间超过该参数设置的阈值时,Binlog文件就会被自动清除,该参数的时间单位是天,设置为0,表示Binlog文件永不过期,即不自动清除Binlog文件。在MySQL 8.0 版本,该参数被废
innodb_fast_shutdown: 作用范围:Global 动态修改:Yes 取值范围:0,1,2 默认值:1 innodb_fast_shutdown 参数用于设置MySQL InnoDB引擎的关闭模式。 设置为0时,InnoDB关闭的最慢,需要清除所有的undo lo
default_password_lifetime 参数定义了一个全局的MySQL密码过期时间,单位为天,也就是每过N天,就需要修改密码,否则会在连接后收到一个密码过期的报错。如果该参数设置为0,即表示密码永不过期。 default_password_lifetime: 作用范围:Globa
MySQL 8.0 引入新的参数 password_history,用来控制历史密码的使用策略,增强密码安全性。password_history 参数定义了一个阈值,来控制之前使用的密码,在用户修改多少次之后,才能重复使用,该参数设置为0,表示禁用该策略。 password_history:
MySQL 8.0 引入新的参数 password_reuse_interval,用来控制历史密码的 使用策略,增强密码安全性。password_reuse_interval 参数定义了一个阈值,来控制之前使用过的密码,在经过多少天之后,才能重复使用,该参数设置为0,表示禁用该策略。 该参数与pa
password_require_current 是 MySQL 8.0.13 版本引入的新参数,该参数定义了一个密码修改的全局策略,如果该参数设置为ON,在修改账号的密码时,会要求指定账号当前使用的密码。简单来说,就是设置新密码时,需要给出旧密码。 password_require_curren
slave_preserve_commit_order 参数在多线程复制环境下,能够保证从库回放relay log事务的顺序与这些事务在relay log中的顺序完全一致,也就是与主库提交的顺序完全一致。 举个例子,开启并行复制后,如果relay log中有3个事务A,B,C,他们在relay l
参数 tx_read_only 或者 transaction_read_only 用于设置事务的访问模式,可设置为 OFF/ON,默认值为 OFF,表示事务可读,可写,设置为 ON 表示事务只读,不可写。 transaction_read_only 参数在 5.7.20 版本引入,tx_read_
1. 参数说明 back_log 参数可以理解为 MySQL 缓存的尚未处理的连接数量,当 MySQL 在短时间内收到非常多的请求时,一时间处于不过来时,这个参数就会起到非常重要的作用。 MySQL 主线程在会花费一些时间来检查连接并且为连接创建新的线程,当短时间内收到大量连接请求时,back_
InnoDB是MySQL默认的存储引擎,支持事务,具有高性能和高可靠性。 一、InnoDB核心优势 支持事务,DML操作遵循ACID模型,具备崩溃恢复能力,保证用户数据安全、完整。 支持行级锁和一致性读,提高了多用户并发性能。 表数据在磁盘上以主键聚簇索引方式存储,这种数据组织方式,
ACID模型是数据库设计的基本原则,用来保证商业数据以及重要应用服务的可靠性。MySQL InnoDB存储引擎以ACID模型为基础,实现了数据的高效、安全存储,在一些意外场景,比如软件崩溃,硬件故障,也不会导致数据损坏。如果应用依赖ACID,使用InnoDB存储引擎,就不必再考虑数据一致性检查和故障
MySQL InnoDB支持数据压缩,有两种数据压缩方式,第一种为表压缩,通常也称之为行格式压缩,另外一种是页压缩,页压缩对操作系统及文件系统有一定的要求。本文主要介绍表压缩(行格式压缩)的原理及使用方法。 表压缩适用的场景: 有很多字符串类型的字段,比如char, varhcar, t
MySQL InnoDB支持数据压缩,有两种数据压缩方式,第一种为表压缩,通常也称之为行格式压缩,另外一种是页压缩(Page Compression),又叫做透明页压缩(Transparent Page Compression),是一种页面级别的数据压缩,页压缩对操作系统及文件系统有一定的要求。本文
本文简单介绍MySQL redo log 文件格式,本文涉及的MySQL 版本为8.0.20。 一、基础知识 1.1 字节序 在具体介绍redo log文件格式之前,先了解一下 InnoDB 数值类型的字节序,InnoDB采用大端字节序存储数值,这个与Binlog使用的小端字节序不同,举个例子
看到一篇关于 MySQL InnoDB 表碎片的文章,觉得不错,转载如下,原文地址: https://www.cnblogs.com/wy123/archive/2020/03/22/12535644.html 网络上有很多 MySQL 表碎片整理的问题,大多数是通过 demo 一个表然后参
本文主要介绍了 MySQL InnoDB 支持的四种事务隔离级别,围绕隔离级别,解释了脏读,不可重复读,以及幻读的概念。 1. MySQL 支持的四种隔离级别 隔离性 isolation (I) 是事务 ACID 四种属性中的一种,它定义了如何将事务与事务之间隔离开来,隔离性是应用程序设计的关键
MySQL 5.7引入了组提交功能,组提交的两个参数binlog_group_commit_sync_delay和binlog_group_commit_sync_no_delay_count,如果设置不当,可能导致事务提交hung住。这个问题持续了多个版本,修改了两次源码,才最终完全修复。
一、问题背景 环境: MySQL:Percona Server for MySQL 5.7.19 JDBC:mysql connector-J 5.1.45 Java代码通过JDBC执行SQL报错 如下: java.sql.SQLException: Unknown type '1
一、背景 MySQL 1主2从,半同步复制,主库有较高的写入量,此时在主库重复安装半同步插件,可能导致主库hang住,无响应,只能通过重启数据库来恢复。 二、故障复现 环境: MySQL版本:Percona Server for MySQL 5.7.19 操作系统:Red Hat En
MySQL 5.7 同时开启半同步复制和复制压缩协议slave_compressed_protocol=ON,会触发MySQL Bug,导致主库事务提交卡住。 一、环境配置: MySQL 5.7.19 1主2从 slave_compressed_protocol=ON 主库:rpl_