如何将 Amamon RDS mysql.slow_log表的引擎更改为 innodb



>mysql.slow_log表默认引擎为CSV,CSV引擎没有索引;当数据量非常大时,这种引擎性能非常慢;

如何将 Amamon RDS mysql.slow_log表的引擎更改为 innodb

简短的回答是你不能那样做。长答案是,正如关于日志目的地的MySQL文档所说:

可以更改日志表以使用MyISAM存储引擎。不能使用 ALTER TABLE 来更改正在使用的日志表。必须先禁用日志。除了CSV或MyISAM之外,没有其他引擎对日志表是合法的。

若要禁用日志记录以便可以更改(或删除(日志表,可以使用以下策略。该示例使用常规查询日志;慢查询日志的过程类似,但使用 slow_log 表和 slow_query_log 系统变量。

SET @old_log_state = @@global.general_log;
SET GLOBAL general_log = 'OFF';
ALTER TABLE mysql.general_log ENGINE = MyISAM;
SET GLOBAL general_log = @old_log_state;

显然,您可以尝试将表引擎更改为innodb,以查看Amazon版本中是否已取消限制,但只能在测试环境中执行此操作。

最新更新