新聞中心

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到銅官網(wǎng)站設(shè)計(jì)與銅官網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、申請(qǐng)域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋銅官地區(qū)。
默認(rèn)情況下,通用查詢?nèi)罩竟δ苁顷P(guān)閉的??梢酝ㄟ^(guò)以下命令查看通用查詢?nèi)罩臼欠耖_啟,命令如下:
mysql> SHOW VARIABLES LIKE '%general%'; +------------------+----------------------------------------------------------------+ | Variable_name | Value | +------------------+----------------------------------------------------------------+ | general_log | OFF | | general_log_file | C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.log | +------------------+----------------------------------------------------------------+ 2 rows in set, 1 warning (0.01 sec)
從結(jié)果可以看出,通用查詢?nèi)罩臼顷P(guān)閉的,general_log_file 變量指定了通用查詢?nèi)罩疚募诘奈恢谩?br />
啟動(dòng)和設(shè)置通用查詢?nèi)罩?/h2>
在 MySQL 中,可以通過(guò)在 MySQL 配置文件添加 log 選項(xiàng)來(lái)開啟通用查詢?nèi)罩荆袷饺缦拢?
[mysqld]
log=dir/filename
其中,dir 參數(shù)指定通用查詢?nèi)罩镜拇鎯?chǔ)路徑;filename 參數(shù)指定日志的文件名。如果不指定存儲(chǔ)路徑,通用查詢?nèi)罩緦⒛J(rèn)存儲(chǔ)到 MySQL 數(shù)據(jù)庫(kù)的數(shù)據(jù)文件夾下。如果不指定文件名,默認(rèn)文件名為 hostname.log,其中 hostname 表示主機(jī)名。
查看通用查詢?nèi)罩?/h2>
如果希望了解用戶最近的操作,可以查看通用查詢?nèi)罩尽Mㄓ貌樵內(nèi)罩疽晕谋疚募男问酱鎯?chǔ),可以使用普通文本文件查看該類型日志內(nèi)容。
例 1
首先我們查看通用查詢?nèi)罩竟δ苁欠袷情_啟狀態(tài),然后查詢 tb_student 表的記錄,SQL 命令和執(zhí)行過(guò)程如下:
mysql> SHOW VARIABLES LIKE '%general%'; +------------------+----------------------------------------------------------------+ | Variable_name | Value | +------------------+----------------------------------------------------------------+ | general_log | ON | | general_log_file | C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.log | +------------------+----------------------------------------------------------------+ 2 rows in set, 1 warning (0.02 sec) mysql> use test; Database changed mysql> SELECT * FROM tb_student; +----+--------+ | id | name | +----+--------+ | 1 | Java | | 2 | MySQL | | 3 | Python | +----+--------+ 3 rows in set (0.06 sec)
執(zhí)行成功后,打開通用查詢?nèi)罩?,這里日志名稱為 LAPTOP-UHQ6V8KP.log,下面是通用查詢?nèi)罩局械牟糠謨?nèi)容。
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld.exe, Version: 5.7.29-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: MySQL
Time Id Command Argument
2020-05-29T06:43:44.382878Z 7 Quit
2020-05-29T06:44:10.001382Z 8 Connect root@localhost on using SSL/TLS
2020-05-29T06:44:10.007532Z 8 Query select @@version_comment limit 1
2020-05-29T06:44:11.748179Z 8 Query SHOW VARIABLES LIKE '%general%'
2020-05-29T06:44:25.487472Z 8 Query SELECT DATABASE()
2020-05-29T06:44:25.487748Z 8 Init DB test
2020-05-29T06:44:35.390523Z 8 Query SELECT * FROM tb_student
可以看出,該日志非常清晰地記錄了客戶端的所有行為。
停止通用查詢?nèi)罩?/h2>
通用查詢?nèi)罩締?dòng)后,可以通過(guò)兩種方法停止該日志。一種是將 MySQL 配置文件中的相關(guān)配置注釋掉,然后重啟服務(wù)器,來(lái)停止通用查詢?nèi)罩?。具體內(nèi)容如下:
[mysqld]
#log=dir\filename
上述方法需要重啟 MySQL 服務(wù)器,這在某些場(chǎng)景,比如有業(yè)務(wù)量訪問(wèn)的情況下是不允許的,這時(shí)可以通過(guò)另一種方法來(lái)動(dòng)態(tài)地控制通用查詢?nèi)罩镜拈_啟和關(guān)閉。
設(shè)置 MySQL 的環(huán)境變量 general_log 為關(guān)閉狀態(tài)可以停止該日志,示例如下:
mysql> SET GLOBAL general_log=off;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE '%general_log%' \G
*************************** 1. row ***************************
Variable_name: general_log
Value: OFF
*************************** 2. row ***************************
Variable_name: general_log_file
Value: C:\ProgramData\MySQL\MySQL Server 5.7\Data\LAPTOP-UHQ6V8KP.log
2 rows in set, 1 warning (0.01 sec)
刪除通用查詢?nèi)罩?/h2>
在 MySQL 中,可以使用 mysqladmin 命令來(lái)開啟新的通用查詢?nèi)罩尽P碌耐ㄓ貌樵內(nèi)罩緯?huì)直接覆蓋舊的查詢?nèi)罩?,不需要再手?dòng)刪除了。
mysqladmin 命令的語(yǔ)法如下:
mysqladmin -uroot -p flush-logs
需要注意的是,如果希望備份舊的通用查詢?nèi)罩荆仨毾葘⑴f的日志文件拷貝出來(lái)或者改名。然后,再執(zhí)行 mysqladmin 命令。
除了上述方法之外,還可以手工刪除通用查詢?nèi)罩?。刪除之后需要重新啟動(dòng) MySQL 服務(wù)。重啟之后就會(huì)生成新的通用查詢?nèi)罩?。如果希望備份舊的日志文件,可以將舊的日志文件改名,然后重啟 MySQL 服務(wù)。
由于通用查詢?nèi)罩緯?huì)記錄用戶的所有操作,如果數(shù)據(jù)庫(kù)的使用非常頻繁,通用查詢?nèi)罩緦?huì)占用非常大的磁盤空間,對(duì)系統(tǒng)性能影響較大。一般情況下,數(shù)據(jù)管理員可以刪除很長(zhǎng)時(shí)間之前的通用查詢?nèi)罩净蜿P(guān)閉此日志,以保證 MySQL 服務(wù)器上的硬盤空間。
當(dāng)前題目:MySQL通用查詢?nèi)罩荆℅eneralQueryLog)
文章路徑:http://www.dlmjj.cn/article/cddeeie.html


咨詢
建站咨詢
