MySQL慢查询日志怎么开启?怎么优化数据库性能?

文章导读
开启MySQL慢查询日志的方法:在my.cnf配置文件中添加slow_query_log=1,slow_query_log_file=/var/log/mysql/slow.log,long_query_time=2,然后重启MySQL服务。优化数据库性能:添加索引,避免select *,使用EXPLAIN分析查询,定期优化表。
📋 目录
  1. A 开启慢查询日志
  2. B 慢查询日志优化
  3. C MySQL性能优化步骤
  4. D 数据库性能调优
  5. E 实际配置示例
  6. F 性能监控与优化
  7. G FAQ
A A

开启MySQL慢查询日志的方法:在my.cnf配置文件中添加slow_query_log=1,slow_query_log_file=/var/log/mysql/slow.log,long_query_time=2,然后重启MySQL服务。优化数据库性能:添加索引,避免select *,使用EXPLAIN分析查询,定期优化表。

开启慢查询日志

在MySQL配置文件my.cnf的[mysqld]下添加以下配置: slow_query_log = 1 slow_query_log_file = /data/mysql/logs/mysql-slow.log long_query_time = 2 log_queries_not_using_indexes = 1 然后重启mysqld服务,日志会记录执行时间超过2秒的SQL。

慢查询日志优化

1、开启慢查询日志,设置long_query_time参数,比如设为1秒。 2、用mysqldumpslow分析日志。 3、优化慢SQL:加索引,改写SQL,调整参数。 性能优化:innodb_buffer_pool_size设为内存的70%,查询缓存开启。

MySQL性能优化步骤

查看慢查询:show variables like '%slow_query%'; 临时开启:set global slow_query_log=1; set global long_query_time=1; 永久开启编辑/etc/my.cnf。 优化:用EXPLAIN看执行计划,避免隐式转换,批量操作。

数据库性能调优

慢查询开启:SET GLOBAL slow_query_log = 'ON'; SET GLOBAL long_query_time = 1; SET GLOBAL slow_query_log_file = '/var/log/mysql-slow.log'; 优化方法:1.索引优化 2.SQL语句优化 3.表结构优化 4.连接池配置 5.分库分表。

实际配置示例

[mysqld] slow_query_log=1 slow_query_log_file=/usr/local/mysql/data/slow.log long_query_time=10 log_queries_not_using_indexes=1 重启后,mysqldumpslow /usr/local/mysql/data/slow.log 查看Top慢查询,优化加索引或改写。

MySQL慢查询日志怎么开启?怎么优化数据库性能?

性能监控与优化

开启慢日志后,用pt-query-digest分析。优化点: - 确保每个表有主键 - 频繁查询字段建索引 - 避免大表全表扫描 - 合理分页,避免limit大偏移。

FAQ

Q: 慢查询日志文件太大怎么办?
A: 定期清理或用logrotate轮转日志。

Q: long_query_time设多少合适?
A: 根据业务,一般1-5秒,线上先设高观察。

Q: 怎么快速分析慢日志?
A: 用mysqldumpslow或pt-query-digest工具。

Q: 优化后性能没提升?
A: 检查锁等待,用show processlist和EXPLAIN多验证。