如何设置和启用MariaDB慢查询日志
时间:2020-01-09 10:39:42 来源:igfitidea点击:
在Linux或类似Unix的系统上如何为MariaDB服务器启用慢速查询日志?
慢查询日志只不过是在服务器上花费很长时间的SQL查询日志。
您可以使用此功能来找出使动态Web应用变慢的SQL查询。
请注意,默认设置禁用慢速查询日志。
因此,让我们来看看如何在MariaDB服务器中设置和启用慢速查询日志。
如何激活慢查询日志
编辑存储在/etc/mysql /目录中的my.cnf或mariadb.cnf。
在此示例中,我正在编辑/etc/mysql/mariadb.conf.d/50-server.cnf文件:
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
在[mysqld]部分中追加以下语法:
slow_query_log = 1 long_query_time = 1 slow_query_log_file = /var/log/mysql/slow-query.log log_queries_not_using_indexes
保存并关闭文件。
其中:
slow_query_log = 1
启用慢查询日志。long_query_time = 1
以秒/微秒为单位设置定义慢查询的时间。slow_query_log_file =/var/log/mysql/slow-query.log
慢查询日志文件的名称log_queries_not_using_indexes
是否记录不使用索引的查询
重新启动mariadb服务器
执行以下命令:
$ sudo /etc/init.d/mysql restart
或者
$ sudo systemctl restart mysql
或用于RHEL/CentoS
$ sudo systemctl restart mysqld
查看您的慢查询日志
执行以下命令:
$ sudo tail -f /var/log/mysql/slow-query.log
输出示例:
# Thread_id: 950 Schema: wpblog QC_hit: No # Query_time: 0.006252 Lock_time: 0.000032 Rows_sent: 499 Rows_examined: 816 SET timestamp=1490818968; SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'; # User@Host: bloguser[bloguser] @ www1 [192.168.162.36] # Thread_id: 951 Schema: wpfront QC_hit: No # Query_time: 0.009001 Lock_time: 0.000038 Rows_sent: 448 Rows_examined: 2184 use wpfront; SET timestamp=1490818968; SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';
您需要使用pt-query-digest来分析慢速,常规和二进制日志文件中的MySQL查询。
$ pt-query-digest /var/log/mysql/slow-query.log