更新时间:2025-04-23 gmt 08:00

rds for mysql支持哪些存储引擎-j9九游会登录

数据库存储引擎就是一种数据存储方式。使用数据存储引擎实现存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序要求。

innodb存储引擎

云数据库 rds for mysql数据库只有innodb存储引擎支持完整的备份、恢复等服务功能,因此rds for mysql推荐使用innodb引擎。

其他存储引擎

在mysql 5.6及以上的版本中,不支持的存储引擎如表1所示:

表1 存储引擎约束限制

引擎

原因

myisam引擎

  • myisam引擎表不支持事务,仅支持表级别锁,导致读写操作相互冲突。
  • myisam对数据完整性的保护存在缺陷,且这些缺陷会导致数据库数据的损坏甚至丢失。
  • myisam在出现数据损害情况下,很多都需要手动修复,无法通过产品服务提供的恢复功能进行数据恢复。
  • myisam向innodb的迁移透明,大多数情况不需要改动建表的代码,云数据库自动转换innodb即可完成迁移。

federated引擎

  • 主备实例支持federated引擎会导致在远端数据库上相同dml重复执行,导致数据错乱。
  • federated引擎会在时间点恢复场景,当全量恢复完成后,远端数据库上数据不会跟随全量备份恢复到全备时的数据状态,在增量恢复阶段再应用数据会导致federated表数据错乱。

memory引擎

  • 如果内存表隐式的变空,那在open表的时候数据库就会自己产生一个delete event到binlog中。这样当ha集群使用了内存表,那么重启ha,备库(或者只读库)就会自己产生一个自己的gtid,导致主备不一致,进而引发备库重建,甚至导致备库会不停的重建。
  • 使用memory表,会存在oom的风险,导致服务被终止。

相关问题

q:登录rds for mysql实例后,使用sql命令查询存储引擎,发现与innodb存储引擎不一致时以哪个为准?

a:以innodb存储引擎为准。在show engines的基础上,真实可用的存储引擎还要考虑mysql社区的参数“disabled_storage_engines”,该参数中的引擎实际不可用。

相关文档

网站地图