mysql中g(shù)eneral_log日志的實(shí)現(xiàn)
介紹
1.記錄范圍:這個(gè)log里面會(huì)記錄MySQL所有的SQL語(yǔ)句,不管是查詢語(yǔ)句,還是DML語(yǔ)句,還是DDL語(yǔ)句,還是DCL語(yǔ)句,這些語(yǔ)句統(tǒng)統(tǒng)都會(huì)被記錄在general log文件中。就連我們連接和斷開(kāi)MySQL數(shù)據(jù)庫(kù)的這些語(yǔ)句。
2.記錄順序:MySQL會(huì)把它收到的所有SQL語(yǔ)句按照接收的順序依次記錄在general log中。我們需要注意的是,這里接受的SQL語(yǔ)句的順序,并不等于SQL語(yǔ)句就是按照這個(gè)接受的順序來(lái)執(zhí)行,因?yàn)橛械臅r(shí)候,一些SQL可能需要等待其他鎖被釋放后才會(huì)被真正的執(zhí)行,SQL語(yǔ)句的執(zhí)行順序是和binlog中的順序是相匹配的。
3.影響:默認(rèn)不開(kāi)啟。開(kāi)啟后日志將會(huì)非常大,對(duì)磁盤(pán)是一個(gè)很大的壓力。對(duì)MySQL數(shù)據(jù)的性能有一定的影響。
操作命令(重啟mysql失效)
1.查看日志是否開(kāi)啟: show variables like 'general_log';
2.開(kāi)啟日志功能: set global general_log=on;
3.關(guān)閉日志功能:set global general_log=off;
4.日志文件保存位置: show variables like 'general_log_file';
5.設(shè)置日志文件保存位置: set global general_log_file='/var/log/mysql/general_query_log';
6.看看日志輸出類(lèi)型 table或file: show variables like 'log_output';
7.設(shè)置輸出類(lèi)型為table(專(zhuān)用日志表中,要比記錄到文件耗費(fèi)更多的系統(tǒng)資源,寫(xiě)入到mysql.general_log 表,這個(gè)參數(shù)是和慢查詢?nèi)罩臼枪灿玫?: set global log_output='table';
8.設(shè)置輸出類(lèi)型為file: set global log_output='file';
9.設(shè)置輸出類(lèi)型同時(shí)支持兩種日志存儲(chǔ)方式: set global log_output='file,table';
配置文件修改(重啟生效)
1.開(kāi)啟日志功能: 修改需要在/etc/my.cnf的:general_log = 1(0表示關(guān)閉,等于1表示開(kāi)啟)
2.設(shè)置日志文件保存位置:修改需要在/etc/my.cnf的:general_log_file = /var/log/mysql/general_query_log/
3.設(shè)置輸出類(lèi)型為file(專(zhuān)用日志表中,要比記錄到文件耗費(fèi)更多的系統(tǒng)資源,寫(xiě)入到mysql.general_log 表,這個(gè)參數(shù)是和慢查詢?nèi)罩臼枪灿玫模盒薷男枰?etc/my.cnf的log_output = file
4.重啟mysql:service mysqld restart
清理general log 文件
1.文件
(1)備份:cp general_query_log general_query_log.bak
(2)清理(切記不要直接刪除這個(gè)日志文件,否則這個(gè)文件不會(huì)自動(dòng)生成,誤刪后需要重啟mysql): echo "" > general_query_log
2.表
(1)備份:create table mysql.general_log_bak as select * from mysql.general_log;
(2)清空:truncate table mysql.general_log;
到此這篇關(guān)于mysql中g(shù)eneral_log日志的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql general_log日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL去除重疊時(shí)間求時(shí)間差和的實(shí)現(xiàn)
在生產(chǎn)中常常出現(xiàn)計(jì)算兩個(gè)時(shí)間差的業(yè)務(wù),比如總宕機(jī)時(shí)間、總開(kāi)通會(huì)員時(shí)間等,本文就詳細(xì)的來(lái)介紹一下如何計(jì)算,感興趣的可以了解一下2021-08-08
mysql8.0.19基礎(chǔ)數(shù)據(jù)類(lèi)型詳解
這篇文章主要介紹了mysql8.0.19基礎(chǔ)數(shù)據(jù)類(lèi)型的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2020-03-03
MySQL主從復(fù)制斷開(kāi)的常用修復(fù)方法
這篇文章主要介紹了MySQL主從復(fù)制斷開(kāi)的常用修復(fù)方法,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下2021-04-04
mysql注入之長(zhǎng)字符截?cái)?orderby注入,HTTP分割注入,limit注入方式
這篇文章主要介紹了mysql注入之長(zhǎng)字符截?cái)?orderby注入,HTTP分割注入,limit注入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11

