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


相关文章
|
Linux Android开发
AVB源码学习(六):AVB2.0 Device Mapper和Dm verity详解
AVB源码学习(六):AVB2.0 Device Mapper和Dm verity详解
1811 0
|
网络架构 网络协议
|
Shell 定位技术 Android开发
抖音怎么把位置定在别的城市
抖音跨城市定位技术实现方案
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
979 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
机器学习/深度学习 自然语言处理 并行计算
社区供稿 | Para-Former:DUAT理论指导下的CV神经网络并行化,提速多层模型推理
神经网络正越来越多地朝着使用大数据训练大型模型的方向发展,这种解决方案在许多任务中展现出了卓越的性能。然而,这种方法也引入了一个迫切需要解决的问题:当前的深度学习模型基于串行计算,这意味着随着网络层数的增加,训练和推理时间也会随之增长。
519 28
|
存储 监控 安全
数据访问权限如何通过角色管理实现?
【6月更文挑战第24天】数据访问权限如何通过角色管理实现?
557 9
|
jenkins 持续交付 项目管理
如何在 Git 中推送空提交
【7月更文挑战第6天】
710 0
如何在 Git 中推送空提交
|
API 数据库 开发工具
基于SiliconCloud快速体验GraphRag.Net
基于SiliconCloud快速体验GraphRag.Net
683 0
|
存储 监控 安全
网络安全中的蜜罐:原理、类型及应用
【8月更文挑战第31天】
3077 0
|
前端开发
自适应APP下载页HTML源码
自适应APP下载页HTML源码
679 0
自适应APP下载页HTML源码