国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MYSQL5.7.9開啟慢查詢日志的技巧

2024-07-24 13:08:55
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MYSQL5.7.9開啟慢查詢日志的技巧的相關資料,需要的朋友可以參考下
 

用MYSQL 5.7.9 作為ZABBIX 2.4.7 的監控數據庫. 前段時間開啟了慢查詢日志, 后來發現慢查詢日志膨脹到了700M

查看最后100條 大部分都是 0.1 秒的 后來想改, 以前是動態設置的 set global slow_query_log=1; 方式的 .

然后想直接用配置文件/etc/my.cnf 配慢查詢

# Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at % of total RAM for dedicated server, else %.innodb_buffer_pool_size = M# Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin# These are commonly set, remove the # and set as required.basedir = /LANMP/mysqldatadir = /MYSQLDATA/dataport = # server_id = .....socket = /tmp/mysql.sock# Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.join_buffer_size = Msort_buffer_size = Mread_rnd_buffer_size = Msql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLEScharacter_set_server=utfinit_connect='SET NAMES utf'slow_query_log = slow_query_log_file = /MYSQLDATA/mysql_slow_query.loglong_query_time = log_queries_not_using_indexes = ON

反復啟動了好多次 service mysqld restart

mysql> show variables like '%query%';+------------------------------+---------------------------------+| Variable_name | Value |+------------------------------+---------------------------------+| binlog_rows_query_log_events | OFF || ft_query_expansion_limit | 20 || have_query_cache | YES || long_query_time | 5.000000 || query_alloc_block_size | 8192 || query_cache_limit | 1048576 || query_cache_min_res_unit | 4096 || query_cache_size | 1048576 || query_cache_type | OFF || query_cache_wlock_invalidate | OFF || query_prealloc_size | 8192 || slow_query_log | ON || slow_query_log_file | /MYSQLDATA/mysql_slow_query.log |+------------------------------+---------------------------------+13 rows in set (0.00 sec)

老是OFF 狀態 而其他的 LONG_QUERY_TIME 得到了改變 5秒

用動態方式設置 報錯

mysql> set global slow_query_log=1;ERROR 29 (HY000): File '/MYSQLDATA/mysql_slow_query.log' not found (Errcode: 13 - Permission denied)

對我已經把它給刪了, 為傻不自己創建個?

只好自己touch 一個

還是報錯 ?

ps -ef |grep mysqld 發現 還有個mysql用戶啟動了mysql

看來 是用mysql用戶讀取慢查詢日志的 用戶權限問題啦

下面給大家介紹開啟mysql慢查詢日志

查看配置:

//查詢慢查詢時間show variables like "long_query_time";默認10s //查看慢查詢配置情況show status like "%slow_queries%"; //查看慢查詢日志路徑show variables like "%slow%"; 

修改配置文件

在my.ini中加上下面兩句話

log-slow-queries = D:/wamp/mysql_slow_query.loglong_query_time=5

第一句使用來定義慢查詢日志的路徑(因為是windows,所以不牽涉權限問題)

第二句使用來定義查過多少秒的查詢算是慢查詢,我這里定義的是5秒

第二步:查看關于慢查詢的狀態

執行如下SQL語句來查看mysql慢查詢的狀態

 

復制代碼代碼如下:

show variables like '%slow%';

 

執行結果會把是否開啟慢查詢、慢查詢的秒數、慢查詢日志等信息打印在屏幕上。

第三步:執行一次慢查詢操作

其實想要執行一次有實際意義的慢查詢比較困難,因為在自己測試的時候,就算查詢有20萬條數據的海量表,也只需要0.幾秒。我們可以通過如下語句代替:

 

復制代碼代碼如下:

SELECT SLEEP(10);

 

第四步:查看慢查詢的數量

通過如下sql語句,來查看一共執行過幾次慢查詢:

show global status like '%slow%';

mysql日志的配置:

注意:這些日文件在mysql重啟的時候才會生成#記錄所有sql語句

log=E:/mysqllog/mysql.log#記錄數據庫啟動關閉信息,以及運行過程中產生的錯誤信息log-error=E:/mysqllog/myerror.log# 記錄除select語句之外的所有sql語句到日志中,可以用來恢復數據文件log-bin=E:/mysqllog/bin#記錄查詢慢的sql語句log-slow-queries=E:/mysqllog/slow.log #慢查詢時間long_query_time=0.5


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 化德县| 阿图什市| 万全县| 东港市| 高台县| 三原县| 新宾| 叙永县| 丰镇市| 宁安市| 巩义市| 鲁山县| 承德县| 罗田县| 股票| 吴川市| 呼玛县| 尼木县| 石家庄市| 富源县| 北辰区| 平江县| 邯郸市| 利津县| 南溪县| 稻城县| 阳朔县| 茌平县| 台州市| 曲沃县| 三江| 简阳市| 清徐县| 安陆市| 兰西县| 烟台市| 西吉县| 兴海县| 和平区| 托克逊县| 长治县|