|
本帖最后由 zhgc 于 2019-9-13 18:51 编辑
配置慢查询前记住这四件事:
1. 检查slow_log表的引擎,如果是CSV要改为MYISAM
show create table mysql.slow_log
CREATE TABLE `slow_log` (
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
`db` varchar(512) NOT NULL,
`last_insert_id` int(11) NOT NULL,
`insert_id` int(11) NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`sql_text` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
- set global slow_query_log=0;
- ALTER TABLE mysql.slow_log ENGINE = MYISAM
复制代码
2. slow_query_log 与 log_slow_queries 的关系
slow_query_log : 指定是否开启慢查询日志
log_slow_queries : 指定是否开启慢查询日志(该参数要被slow_query_log取代,做兼容性保留)
3. 输出要改为TABEL
log_output='TABLE'
show global variables like '%output%'
默认是FILE, 要改为TABLE
- set global slow_query_log=0;
- set global log_output='TABLE';
复制代码
4. slow_log表的数据删不掉的,只能truncate
truncate mysql.slow_log
接下来,看下数据库中的当前配置:
- show global variables like '%output%'
-
- show global variables like '%slow%'
-
- show global variables like '%long%'
复制代码
|
|