【问题标题】:Change storage engine for mysql system tables?更改mysql系统表的存储引擎?
【发布时间】: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


【解决方案1】:

我应该更改上述表的存储引擎吗?

没有。

它会影响 MySQL 的工作方式吗?

是的。它很可能使服务器停止工作——要么立即停止,要么在重新启动时停止。

不要弄乱 MySQL 系统表。

猜你喜欢
  • 1970-01-01
  • 2013-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-22
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
相关资源
最近更新 更多