【发布时间】:2018-02-01 03:00:31
【问题描述】:
我正在为 MySql 中的表更改存储引擎。 mysql 架构中有一些使用 MyISAM 存储引擎的表:
mysql.columns_priv
mysql.db
mysql.event
mysql.func
mysql.ndb_binlog_index
mysql.proc
mysql.procs_priv
mysql.proxies_priv
mysql.tables_priv
mysql.user
现在,我需要更改存储引擎,因为 AWS RDS 不支持 MyISAM 加密,除了其他原因。
我应该更改上述表的存储引擎吗?它会影响 MySQL 的工作方式吗?
编辑: 我混淆了两种不同的东西。 RDS 确实支持使用 MyISAM 引擎加密数据库。但是您不能加密现有实例。我正在尝试做的是通过对其进行快照来加密现有的 RDS 实例 --> 加密快照 --> 恢复加密的快照。 RDS 不支持使用 MyISAM 引擎拍摄表的快照。 我做了一个误导性的总结,说 RDS 不支持加密 MyISAM。
【问题讨论】:
-
其中一些表甚至不是真正的表,它们纯粹是虚拟的,为您提供使用 SQL 查询获取有关数据库结构的数据的方法。它们就像 Linux 上的
/proc。 -
@Havenard 谢谢,我不知道。所以它们类似于内存结构,而不是存储在磁盘上?
-
在某种程度上是的。无论如何,这些表格中的信息不应该被认为是敏感的,它是技术性的。字段名、表名、数据库用户及其权限、密码,但这些都是加密的。
-
@Havenard 您正在考虑
information_schema,它不包含真实的表格。mysql模式中的表确实是带有 .frm 和 .myd/.myi 文件支持它们的真实表。 -
@AdeelSiddiqui 您在哪里看到 “RDS 不支持 MyISAM 加密”...?如果 RDS 实例启用了加密,则整个系统位于加密的 EBS 卷上(隐藏,由 RDS 服务管理。) RDS 不支持 MyISAM 的时间点恢复,因为 MyISAM 表不是事务性的......但是每当进行备份时,RDS 都会悄悄地锁定
mysql架构中的表,以便它们在快照上是干净的。 (未记录但可观察到。)
标签: mysql innodb amazon-rds myisam