-
MySQL慢查询日志分析
一:查询slow log的状态,如示例代码所示,则slow log已经开启。 mysql> show variables like '%slow%'; +---------------------+------------------------------------------+ | Variable_name | Value | +---------------------+------------------------------------------+ | log_slow_queries | ON | | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /mysqllog/slow_log/slow_queries_3306.log | +---------------------+------------------------------------------+ 4 rows in set (0.00 sec) 如果没有开启慢查询日志有以下两种方法: 在配置文件[mysqld]中添加slow_query_log = ON和long_query_time = 1,然后重启MySQL即可生效。 set global slow_query_log=1; 在线开启。如果MySQL发生重启,就会失效,如果要永久生效,就必选修改配置文件。 二:slow log的日志相关参数详解 slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭。 log-slow-queries :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log slow-query-log-file:新版(5.6及以上版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.log long_query_time :慢查询阈值,当查询时间多于设定的阈值时,记录日志。 log_queries_not_using_indexes:未使用索引的查询也被记录到慢查询日志中(可选项)。 log_output:日志存储方式。log_output='FILE'表示将日志存入文件,默认值……
SE_You 2024-04-0818 0 0 -
mysql状态分析之show global status
1. 慢查询 show variables like '%slow%'; +---------------------------+---------------------------------------+ | Variable_name | Value | +---------------------------+---------------------------------------+ | log_slow_admin_statements | OFF | | log_slow_slave_statements | ON | | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /export/data/mysql/log/slow-query.log | +---------------------------+---------------------------------------+ show global status like '%slow%'; +---------------------+---------+ | Variable_name | Value | +---------------------+---------+ | Slow_launch_threads | 1351 | | Slow_queries | 1012685 | +---------------------+---------+ 打开慢查询日志可能会对系统性能有一点点影响,如果你的MySQL是主-从结构,可以考虑打开其中一台从服务器的慢查询日志,这样既可以监控慢查询,对系统性能影响又小,另mysql有自带的命令mysqldumpslow可进行查询,例下列命令可以查出访问次数最多的20个sql语句 mysqldumpslow -s c -t 20 host-slow.log 2. 连接数 经常会遇见”MySQL: ERROR 1040: Too manyconnections”的情况,一种是访问量确实很高,MySQL服务器抗不住,这个时候就要考虑增加从服务器分散读压力,另外一种情况是MySQL配置文件中max_connections值过小: show variables like 'max_connections'; +-----------------+-……
SE_Gao 2024-02-2618 0 0