mysql中g(shù)eneral_log日志的實現(xiàn)
介紹
1.記錄范圍:這個log里面會記錄MySQL所有的SQL語句,不管是查詢語句,還是DML語句,還是DDL語句,還是DCL語句,這些語句統(tǒng)統(tǒng)都會被記錄在general log文件中。就連我們連接和斷開MySQL數(shù)據(jù)庫的這些語句。
2.記錄順序:MySQL會把它收到的所有SQL語句按照接收的順序依次記錄在general log中。我們需要注意的是,這里接受的SQL語句的順序,并不等于SQL語句就是按照這個接受的順序來執(zhí)行,因為有的時候,一些SQL可能需要等待其他鎖被釋放后才會被真正的執(zhí)行,SQL語句的執(zhí)行順序是和binlog中的順序是相匹配的。
3.影響:默認不開啟。開啟后日志將會非常大,對磁盤是一個很大的壓力。對MySQL數(shù)據(jù)的性能有一定的影響。
操作命令(重啟mysql失效)
1.查看日志是否開啟: show variables like 'general_log';
2.開啟日志功能: 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.看看日志輸出類型 table或file: show variables like 'log_output';
7.設(shè)置輸出類型為table(專用日志表中,要比記錄到文件耗費更多的系統(tǒng)資源,寫入到mysql.general_log 表,這個參數(shù)是和慢查詢?nèi)罩臼枪灿玫?: set global log_output='table';
8.設(shè)置輸出類型為file: set global log_output='file';
9.設(shè)置輸出類型同時支持兩種日志存儲方式: set global log_output='file,table';
配置文件修改(重啟生效)
1.開啟日志功能: 修改需要在/etc/my.cnf的:general_log = 1(0表示關(guān)閉,等于1表示開啟)
2.設(shè)置日志文件保存位置:修改需要在/etc/my.cnf的:general_log_file = /var/log/mysql/general_query_log/
3.設(shè)置輸出類型為file(專用日志表中,要比記錄到文件耗費更多的系統(tǒng)資源,寫入到mysql.general_log 表,這個參數(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)清理(切記不要直接刪除這個日志文件,否則這個文件不會自動生成,誤刪后需要重啟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日志的實現(xiàn)的文章就介紹到這了,更多相關(guān)mysql general_log日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql8.0.19基礎(chǔ)數(shù)據(jù)類型詳解
這篇文章主要介紹了mysql8.0.19基礎(chǔ)數(shù)據(jù)類型的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值 ,需要的朋友可以參考下2020-03-03mysql注入之長字符截斷,orderby注入,HTTP分割注入,limit注入方式
這篇文章主要介紹了mysql注入之長字符截斷,orderby注入,HTTP分割注入,limit注入方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11