InnoDB系统表空间定义规则

简介: 1. InnoDB系统表空间定义规则2. 并行复制设置不当可能导致主从数据不一致

1. InnoDB系统表空间定义规则

修改 innodb_data_file_path 选项值可自定义InnoDB系统表空间设置,不过要注意 autoextendmax 属性只能放在最后一个文件,而不能放在前面的文件。

The autoextend and max attributes can be used only for the data file that is specified last.

例如:

# 这样是错的
innodb_data_file_path=ibdata1:12M:autoextend:max:500M;ibdata2:50M:autoextend:max:500M
# 这样是正确的
innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend:max:500M

不过,随着undo表空间从系统表空间移出后,导致系统表空间疯狂膨胀的最大因素已不复存在,也就没什么必要定义太大了,一般128MB就足够应付绝大多数场景了。

2. 并行复制设置不当可能导致主从数据不一致

当并行复制设置为 DATABASE (slave_parallel_type = DATABASE)模式时,可能会导致主从数据不一致。

因为可能有跨 DATABASE 的外键约束,但是在从节点并行应用relay log时,会忽略这些约束条件,从而导致主从数据不一致。

因此,并行复制模式一定记得要设置为 LOGICAL_CLOCK。在MySQL 8.0.27前,默认值是 DATABASE,从8.0.27起默认值才改成 LOGICAL_CLOCK。

There must be no cross-database constraints, as such constraints may be violated on the replica.


Enjoy MySQL :)

image.png


相关文章
|
8月前
|
关系型数据库
Pg库增加&修改字段
Pg库增加&修改字段
134 0
|
7月前
|
存储 关系型数据库 MySQL
MySQL数据库——InnoDB引擎-逻辑存储结构(表空间、段、区、页、行)
MySQL数据库——InnoDB引擎-逻辑存储结构(表空间、段、区、页、行)
143 7
|
8月前
|
存储 关系型数据库 MySQL
MySQL表空间结构与页、区、段的定义
一、概念引入 1、页 InnoDB是以页为单位管理存储空间的,在InnoDB中针对不同的目的设计了各种不同类型的页面。如下(省略了FIL_PAGE或FiL_PAGE_TYPE的前缀):
|
关系型数据库 MySQL
InnoDB系统表空间定义规则
1. InnoDB系统表空间定义规则 2. 并行复制设置不当可能导致主从数据不一致
103 0
|
存储 关系型数据库 MySQL
独立表空间结构(1)之区---InnoDB表空间(二十七)
独立表空间结构(1)之区---InnoDB表空间(二十七)
|
存储 关系型数据库 MySQL
独立表空间结构(2)之段---InnoDB表空间(二十八)
独立表空间结构(2)之段---InnoDB表空间(二十八)
|
存储 关系型数据库 MySQL
整体结构&InnoDB数据字典(1) --系统表空间结构(三十三)
整体结构&InnoDB数据字典(1) --系统表空间结构(三十三)
|
存储 关系型数据库 MySQL
独立表空间&系统表空间总结---innoDB表空间(三十五)
独立表空间&系统表空间总结---innoDB表空间(三十五)
|
存储 Oracle 关系型数据库
Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看
Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看
275 0
Oracle 数据库表空间不足拓展方法实例演示,表空间剩余大小查看,通过新增表空间文件拓展表空间,表空间文件路径查看