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

时间:2016-11-14 09:02:03

标签: mysql amazon-rds

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

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

1 个答案:

答案 0 :(得分:2)

简短的回答是你不能这样做。答案很长,因为log destinations上的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以查看亚马逊版本中是否已取消限制,但仅在测试环境中执行此操作。