优化相关的日志-slowlog
作用:记录慢SQL语句的日志,定位低效SQL语句的工具日志
开启慢日志:slow_query_log=1
慢日志文件的位置:slow_query_log_file=/data/mysql/slow.log
设定慢查询时间为0.1秒:long_query_time=0.1
没有走索引的语句也记录:log_queries_not_using_indexes
mysql> show variables like '%max_binlog_size%';
+-----------------+------------+
| Variable_name | Value |
+-----------------+------------+
| max_binlog_size | 1073741824 |
+-----------------+------------+
1 row in set (0.00 sec)
mysql> select @@slow_query_log;
+------------------+
| @@slow_query_log |
+------------------+
| 0 |
+------------------+
1 row in set (0.00 sec)
mysql> select @@slow_query_log_file;
+---------------------------------------------+
| @@slow_query_log_file |
+---------------------------------------------+
| /data/mysql/data/instance-r5y0pf5d-slow.log |
+---------------------------------------------+
1 row in set (0.00 sec)
mysql>
[mysqld]
user=mysql
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=6
port=3306
gtid-mode=on
enforce-gtid-consistency=true
log_error=/data/mysql/data/mysql.log
log_bin=/data/binlog/mysql-bin
secure-file-priv=/tmp
autocommit=0
innodb_flush_method=O_DIRECT
slow_query_log=1 slow_query_log_file=/data/mysql/data/slow.log long_query_time=0.1 log_queries_not_using_indexes
[mysql]
socket=/tmp/mysql.sock
分析慢日志的语句:
-s以什么排序
c次数
-t 10前十名
以次数进行排序取前10名
mysqldumpslow -s c -t 10 /data/mysql/data/slow.log