日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql-普通查询(General Query)慢查询(Slow Query)相关日志配置

發布時間:2023/12/4 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql-普通查询(General Query)慢查询(Slow Query)相关日志配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

配置

配置方法一: 服務啟動時

# vi /etc/my.cnf ... log-output=TABLE,FILE general-log=1 slow-query-log=1# systemctl restart mysqld

log-output默認是FILE,還有個值是NONE,就不輸出日志了.我這里演示的是表和日志文件都輸出.

配置方法二: 運行時

mysql> set global log_output="table", global general_log=on, global slow_query_log=on;

查看

查看相關變量:

mysql> show variables like 'general%'; +------------------+--------------------------+ | Variable_name | Value | +------------------+--------------------------+ | general_log | ON | | general_log_file | /var/lib/mysql/srv00.log | +------------------+--------------------------+ 2 rows in set (0.00 sec)mysql> show variables like 'slow%'; +---------------------+-------------------------------+ | Variable_name | Value | +---------------------+-------------------------------+ | slow_launch_time | 2 | | slow_query_log | ON | | slow_query_log_file | /var/lib/mysql/srv00-slow.log | +---------------------+-------------------------------+ 3 rows in set (0.00 sec)

相關日志文件:

general_log_file和slow_query_log_file變量指示的文件,可以按需要進行修改

日志相關的表:

mysql> select * from mysql.general_log; mysql> select * from mysql.slow_log;

維護

日志文件

mysql> set global general_log=off; mysql> \! mv /var/lib/mysql/srv00.log /var/lib/mysql/srv00.log.bak mysql> set global general_log=on;

或者:

mv /var/lib/mysql/srv00.log /var/lib/mysql/srv00.log.bak mv /var/lib/mysql/srv00-slow.log /var/lib/mysql/srv00-slow.log.bak mysqladmin flush-logs

修改日志表原理也是一樣,先暫停,維護表,再啟用

slow query log相關參數

mysql> show variables like 'long%'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+ 1 row in set (0.01 sec)

超過這個秒數的慢查詢才記錄

mysql> show variables like 'min%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | min_examined_row_limit | 0 | +------------------------+-------+ 1 row in set (0.00 sec)

返回記錄數超過才記錄

mysql> show variables like 'log_slow_admin%'; +---------------------------+-------+ | Variable_name | Value | +---------------------------+-------+ | log_slow_admin_statements | OFF | +---------------------------+-------+ 1 row in set (0.00 sec)

是否記錄管理類型的sql, 包括:ALTER TABLE, ANALYZE TABLE, CHECK TABLE, CREATE INDEX, DROP INDEX, OPTIMIZE TABLE, REPAIR TABLE.

mysql> show variables like '%not_using_indexes'; +----------------------------------------+-------+ | Variable_name | Value | +----------------------------------------+-------+ | log_queries_not_using_indexes | OFF | | log_throttle_queries_not_using_indexes | 0 | +----------------------------------------+-------+ 2 rows in set (0.01 sec)

沒有使用索引的sql是否要記錄,如果開啟會產生很多記錄,log_throttle_queries_not_using_indexes設置每分鐘在此范圍內只記錄一次.

slow query log 分析

使用工具mysqldumpslow

熟悉oracle的可以認為mysqldumpslow是oracle的tkprof

總結

當然開啟都會對服務器資源消耗.只在需要的時候開啟,不用的時候關掉.

//END

轉載于:https://my.oschina.net/hippora/blog/523950

總結

以上是生活随笔為你收集整理的mysql-普通查询(General Query)慢查询(Slow Query)相关日志配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。