使用SHOW PROCESSLIST 查看 原因: 使用了 一个触发器 不断的去删除日志,保证每个用户的日志只有10条 去掉之后,CPU使用率从97% 降到了 17%。 利用show columns from 表名 查看 和 SQL 对比 查出 根本原因 : 删除条件里面 有一个 没有加索引,添加了索引后CPU在6%到40%波动,由于CPU单核,又加了很多触发器,所以去掉了这个 会频繁被触发的触发器。 lower_case_table_names=1可以忽略表名大小写 SHOW VARIABLES LIKE ‘%innodb_flush_log_at_trx_commit%‘; --值分为三个 0 1 2, 目前知道设置成2 会对服务器优化 SET GLOBAL innodb_flush_log_at_trx_commit=2;
关于mysql占用CPU过高,问题解决
时间: 2024-10-14 04:03:20