久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL慢日志選項(xiàng)參數(shù)有哪些

共計(jì) 5851 個(gè)字符,預(yù)計(jì)需要花費(fèi) 15 分鐘才能閱讀完成。

這篇文章給大家分享的是有關(guān) MySQL 慢日志選項(xiàng)參數(shù)有哪些的內(nèi)容。丸趣 TV 小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨丸趣 TV 小編過(guò)來(lái)看看吧。

〇 log_output
枚舉型,動(dòng)態(tài)參數(shù)。
用于設(shè)置 slow log 和 general log 的輸出對(duì)象。
可以設(shè)置為 none,table,file,分別代表:不輸出,存于表,存于文件。

并且也可以組合設(shè)置:
比如 SET GLOBAL log_output= table,file
則代表同時(shí)輸出到表和文件中。

如果設(shè)置 SET GLOBAL log_output= none,file 或 none,table 或 table,file,none 均代表 none

〇 slow_query_log 與 slow_query_log_file
slow_query_log 布爾型,動(dòng)態(tài)參數(shù),默認(rèn)為 OFF。
用于控制是否開(kāi)啟 slow log。

slow_query_log_file 動(dòng)態(tài)參數(shù),指定 slow log 文件的名稱和路徑。
若未設(shè)置,則 slow log 的文件名取默認(rèn)值 $host_name-slow.log,存放于 $datadir 下。

〇 long_query_time
動(dòng)態(tài)參數(shù),默認(rèn)值為 10。
記錄執(zhí)行時(shí)間(real time)超過(guò)該值以上的 SQL。

〇 log_queries_not_using_indexes 
布爾型,動(dòng)態(tài)參數(shù),默認(rèn)為 OFF。
若開(kāi)啟,則表示記錄所有未使用索引的 SQL,無(wú)論是否超過(guò) long_query_time 所設(shè)置的值。
不遵循 long_query_time。

mysql SET SESSION long_query_time=10000;

Query OK, 0 rows affected (0.00 sec)

mysql CREATE TABLE test.slow(id int);

Query OK, 0 rows affected (0.03 sec)

mysql INSERT INTO test.slow SELECT 1;

Query OK, 1 row affected (0.01 sec)

Records: 1  Duplicates: 0  Warnings: 0

mysql SELECT * FROM test.slow WHERE id=1;

+——+

| id   |

+——+

| 1   |

+——+

1 row in set (0.00 sec)

mysql SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log;

+—————————-+—————–+—————–+————————————+

| start_time                 | query_time     | lock_time       | sql_text                           |

+—————————-+—————–+—————–+————————————+

| 2017-11-16 15:09:32.114488 | 00:00:00.000346 | 00:00:00.000166 | SELECT * FROM test.slow WHERE id=1 |

+—————————-+—————–+—————–+————————————+

1 row in set (0.00 sec)

此時(shí)上面這一條 SQL 被記錄到 slow log,并且忽略了 long_query_time 的設(shè)置。

加一個(gè)索引,再多一次查詢:

mysql ALTER TABLE test.slow ADD PRIMARY KEY pk(id);

Query OK, 0 rows affected (0.14 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql SELECT * FROM test.slow WHERE id=1;

+—-+

| id |

+—-+

| 1 |

+—-+

1 row in set (0.00 sec)

mysql SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log;

+—————————-+—————–+—————–+———————————————————————-+

| start_time               | query_time     | lock_time     | sql_text                                                           |

+—————————-+—————–+—————–+———————————————————————-+

| 2017-11-16 15:09:32.114488 | 00:00:00.000346 | 00:00:00.000166 | SELECT * FROM test.slow WHERE id=1                                 |

| 2017-11-16 15:10:50.196590 | 00:00:00.000437 | 00:00:00.000148 | SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log |

+—————————-+—————–+—————–+———————————————————————-+

2 rows in set (0.00 sec)

可以發(fā)現(xiàn)第二次 SELECT 的 SQL 的沒(méi)有被記錄到 slow log。
至于這條查詢 slow log 的語(yǔ)句本身被記錄到 slow log,也是因?yàn)檫@條查 mysql.slow_log 的 SQL 沒(méi)有使用到索引。

因?yàn)殚_(kāi)啟該參數(shù)造成 slow log 暴漲的案例:
http://blog.itpub.net/29773961/viewspace-1811829/

〇 log_throttle_queries_not_using_indexes
整型,動(dòng)態(tài)參數(shù),默認(rèn)為 0。
如果 log_queries_not_using_indexes 開(kāi)啟,
那么 log_throttle_queries_not_using_indexes 用于限制每分鐘所記錄的 slow log 數(shù)量。
設(shè)置為 0 則表示“不限制”。

〇 log_slow_admin_statements 
布爾型,動(dòng)態(tài)參數(shù),默認(rèn)為 OFF。5.7 后新增的參數(shù)。
可用于控制 slow log 是否記錄數(shù)據(jù)庫(kù)管理的 SQL。
若開(kāi)啟,則表示記錄這些 SQL。
數(shù)據(jù)庫(kù)管理的 SQL 包括:
ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE, REPAIR TABLE。

遵循 long_query_time。

第一次執(zhí)行 check table,時(shí)間超過(guò) 2 秒,但未被記錄。
第二次執(zhí)行 check table,開(kāi)啟 log_queries_not_using_indexes,超過(guò) 2 秒,被記錄。

mysql SELECT @@long_query_time, @@log_queries_not_using_indexes;

+——————-+———————————+

| @@long_query_time | @@log_queries_not_using_indexes |

+——————-+———————————+

| 2.000000         | 0                             |

+——————-+———————————+

1 row in set (0.00 sec)

mysql CHECK TABLE test.t0;

+———+——-+———-+———-+

| Table   | Op   | Msg_type | Msg_text |

+———+——-+———-+———-+

| test.t0 | check | status   | OK       |

+———+——-+———-+———-+

1 row in set (4.28 sec)

mysql SET GLOBAL log_slow_admin_statements = 1;

Query OK, 0 rows affected (0.00 sec)

mysql CHECK TABLE test.t0;

+———+——-+———-+———-+

| Table   | Op   | Msg_type | Msg_text |

+———+——-+———-+———-+

| test.t0 | check | status   | OK       |

+———+——-+———-+———-+

1 row in set (4.27 sec)

mysql SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log;

+—————————-+—————–+—————–+———————+

| start_time                 | query_time     | lock_time       | sql_text           |

+—————————-+—————–+—————–+———————+

| 2017-11-16 15:31:24.378343 | 00:00:04.271940 | 00:00:00.000134 | CHECK TABLE test.t0 |

+—————————-+—————–+—————–+———————+

1 row in set (0.00 sec)

〇 log_slow_slave_statements
布爾型,動(dòng)態(tài)參數(shù),默認(rèn)為 OFF。5.7 后新增的參數(shù)。
開(kāi)啟后,在 slave 上將會(huì)記錄超過(guò) long_query_time 的日志記錄。
即便開(kāi)啟了這個(gè)選項(xiàng),也不會(huì)立刻生效,新的變更需要再一次 START SLAVE 后生效。

〇 min_examined_row_limit
整型,動(dòng)態(tài)參數(shù),默認(rèn)為 0。
設(shè)置該值,則表示返回行數(shù)大于等于該值的 sql,將會(huì)被記錄到 slow log 中。

mysql SET SESSION long_query_time=0, SESSION min_examined_row_limit=5;

Query OK, 0 rows affected (0.00 sec)

mysql SELECT * FROM test.t0 LIMIT 4;

…………

4 rows in set (0.00 sec)

mysql SELECT * FROM test.t0 LIMIT 5;

…………

5 rows in set (0.00 sec)

mysql SELECT * FROM test.t0 LIMIT 10;

…………

10 rows in set (0.00 sec)

mysql SELECT start_time, query_time,lock_time,sql_text FROM mysql.slow_log;

+—————————-+—————–+—————–+——————————–+

| start_time                 | query_time     | lock_time       | sql_text                       |

+—————————-+—————–+—————–+——————————–+

| 2017-11-17 16:08:14.851394 | 00:00:00.000286 | 00:00:00.000134 | SELECT * FROM test.t0 LIMIT 5 |

| 2017-11-17 16:08:16.744389 | 00:00:00.000284 | 00:00:00.000135 | SELECT * FROM test.t0 LIMIT 10 |

+—————————-+—————–+—————–+——————————–+

2 rows in set (0.00 sec)

個(gè)人認(rèn)為大多數(shù)場(chǎng)景都無(wú)需刻意設(shè)置該值,取默認(rèn)為 0 就好。

〇 log-short-format
默認(rèn)為 FLASE,該選項(xiàng)僅僅為啟動(dòng)時(shí)選項(xiàng),并不支持系統(tǒng)變量。
如果該選項(xiàng)被激活,則表示在 slow log 中記錄更少的信息。

〇 log_timestamps
枚舉型,動(dòng)態(tài),默認(rèn)為 UTC,5.7.2 后出現(xiàn)。

感謝各位的閱讀!關(guān)于“MySQL 慢日志選項(xiàng)參數(shù)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-26發(fā)表,共計(jì)5851字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 昌都县| 封丘县| 延吉市| 达拉特旗| 法库县| 康定县| 怀仁县| 山西省| 澳门| 建始县| 原平市| 保亭| 通海县| 常德市| 白城市| 屏山县| 长丰县| 桐梓县| 镇赉县| 修武县| 从江县| 高邮市| 江安县| 嘉黎县| 府谷县| 林甸县| 宣城市| 郓城县| 眉山市| 南溪县| 平邑县| 方城县| 霞浦县| 资溪县| 石门县| 廊坊市| 镇平县| 盐山县| 纳雍县| 长治市| 马龙县|