如何开启MySQL慢日志?
如果需要启用MySQL的慢查询日志功能,需要在配置文件my.cnf中进行相应的设置。找到[mysqld]节,加入以下内容即可:
slow_query_log = ON
long_query_time = 2 # 单位为秒,表示执行时间超过2s的所有查询都会记录在慢查询日志中。
log_queries_not_using_indexes = ON # 需要将索引未被使用的查询也记录在慢查询日志中时,需要加上此选项。
如何查询MySQL慢日志?
MySQL慢查询日志默认记录在系统的/var/lib/mysql/hostname-slow.log文件中,可以使用以下命令来查询相应日志:
sudo mysqldumpslow -s t -t 10 /var/lib/mysql/hostname-slow.log
该命令将会列出执行时间最长的前10条查询语句,其中-s参数表示排序选项,-t参数用于指定返回结果的条数。
如何分析MySQL慢日志?
分析日志通常需要借助一些工具,例如pt-query-digest和mysqldumpslow等。pt-query-digest是一个非常实用的分析工具,它可以用于分析日志中的查询信息并生成相关的报告。以下是使用pt-query-digest分析慢日志的命令:
pt-query-digest /var/lib/mysql/hostname-slow.log >slow_query_report.txt
执行完该命令后,会生成一个名为slow_query_report.txt的报告文件。报告文件中包含了详细的查询分析信息,如查询时间、执行次数、是否使用索引等。