如何开启MySQL和PHP慢日志设置,以优化数据库查询效率?

2026-04-06 18:161阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计525个文字,预计阅读时间需要3分钟。

如何开启MySQL和PHP慢日志设置,以优化数据库查询效率?

启动MySQL慢日志 + MySQL的慢查询日志是MySQL提供的一种日志记录,用于记录在MySQL中执行时间超过设定阈值的SQL语句。它用于跟踪那些执行时间较长的查询,帮助识别性能瓶颈。当查询运行时间超过`long_query_time`值时,相关语句会被记录到慢查询日志中。

如何开启MySQL和PHP慢日志设置,以优化数据库查询效率?

开启mysql慢日志

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10s以上的语句。

默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。

1、开启mysql慢日志方法一(临时,重启mysql失效):

服务器登录mysql,查看当前慢查询日志状态

mysql> show variables like '%slow_query_log%'; +---------------------+-----------------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /usr/local/mysql/var/localtest-slow.log | +---------------------+-----------------------------------------+ 2 rows in set (0.00 sec) mysql> show variables like '%long_query_time%'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set (0.00 sec)

开启慢日志,设置慢查询时间(秒)

mysql> set global log_slow_queries=ON; mysql5.6以下版本 mysql> set global slow_query_log=ON; mysql5.6以上版本 mysql> set global slow_launch_time=10; mysql> set long_query_time=3; mysql5.7

2、开启mysql慢日志方法二(永久生效)

编辑mysql配置文件/etc/my.cnf

[mysqld] slow_query_log = 1 #是否开启慢查询日志,1表示开启,0表示关闭,也可以使用off和on long_query_time = 5 #慢查询时间 log-slow-queries=/var/log/slowquery.log #mysql5.6以下版本 slow-query-log-file=/var/log/slowquery.log #mysql5.6及以上版本

开启php慢日志

编辑php-fpm.conf

request_slowlog_timeout = 5 执行时间大于5秒记录慢日志,0表示关闭慢日志 slowlog = /var/log/php-fpm/www-slow.log 指定慢日志路径

修改完成后,需要重启php

推荐:《PHP教程》

以上就是如何开启mysql和php慢日志的详细内容,更多请关注自由互联其它相关文章!

本文共计525个文字,预计阅读时间需要3分钟。

如何开启MySQL和PHP慢日志设置,以优化数据库查询效率?

启动MySQL慢日志 + MySQL的慢查询日志是MySQL提供的一种日志记录,用于记录在MySQL中执行时间超过设定阈值的SQL语句。它用于跟踪那些执行时间较长的查询,帮助识别性能瓶颈。当查询运行时间超过`long_query_time`值时,相关语句会被记录到慢查询日志中。

如何开启MySQL和PHP慢日志设置,以优化数据库查询效率?

开启mysql慢日志

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10s以上的语句。

默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。

1、开启mysql慢日志方法一(临时,重启mysql失效):

服务器登录mysql,查看当前慢查询日志状态

mysql> show variables like '%slow_query_log%'; +---------------------+-----------------------------------------+ | Variable_name | Value | +---------------------+-----------------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /usr/local/mysql/var/localtest-slow.log | +---------------------+-----------------------------------------+ 2 rows in set (0.00 sec) mysql> show variables like '%long_query_time%'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set (0.00 sec)

开启慢日志,设置慢查询时间(秒)

mysql> set global log_slow_queries=ON; mysql5.6以下版本 mysql> set global slow_query_log=ON; mysql5.6以上版本 mysql> set global slow_launch_time=10; mysql> set long_query_time=3; mysql5.7

2、开启mysql慢日志方法二(永久生效)

编辑mysql配置文件/etc/my.cnf

[mysqld] slow_query_log = 1 #是否开启慢查询日志,1表示开启,0表示关闭,也可以使用off和on long_query_time = 5 #慢查询时间 log-slow-queries=/var/log/slowquery.log #mysql5.6以下版本 slow-query-log-file=/var/log/slowquery.log #mysql5.6及以上版本

开启php慢日志

编辑php-fpm.conf

request_slowlog_timeout = 5 执行时间大于5秒记录慢日志,0表示关闭慢日志 slowlog = /var/log/php-fpm/www-slow.log 指定慢日志路径

修改完成后,需要重启php

推荐:《PHP教程》

以上就是如何开启mysql和php慢日志的详细内容,更多请关注自由互联其它相关文章!