新聞中心
通用查詢?nèi)罩荆℅eneral Query Log)用來記錄用戶的所有操作,包括啟動和關(guān)閉 MySQL 服務(wù)、更新語句和查詢語句等。

創(chuàng)新互聯(lián)公司,為您提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計,對服務(wù)成都發(fā)電機租賃等多個行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗。創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報價服務(wù),我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進步,是我們永遠的責任!
默認情況下,通用查詢?nèi)罩竟δ苁顷P(guān)閉的。可以通過以下命令查看通用查詢?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)罩疚募诘奈恢谩?/p>
啟動和設(shè)置通用查詢?nèi)罩?/h2>
在 MySQL 中,可以通過在 MySQL 配置文件添加 log 選項來開啟通用查詢?nèi)罩?,格式如下?
[mysqld]
log=dir/filename
其中,dir 參數(shù)指定通用查詢?nèi)罩镜拇鎯β窂?;filename 參數(shù)指定日志的文件名。如果不指定存儲路徑,通用查詢?nèi)罩緦⒛J存儲到 MySQL 數(shù)據(jù)庫的數(shù)據(jù)文件夾下。如果不指定文件名,默認文件名為 hostname.log,其中 hostname 表示主機名。
查看通用查詢?nèi)罩?/h2>
如果希望了解用戶最近的操作,可以查看通用查詢?nèi)罩尽Mㄓ貌樵內(nèi)罩疽晕谋疚募男问酱鎯?,可以使用普通文本文件查看該類型日志?nèi)容。
例 1
首先我們查看通用查詢?nèi)罩竟δ苁欠袷情_啟狀態(tài),然后查詢 tb_student 表的記錄,SQL 命令和執(zhí)行過程如下:
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)罩締雍?,可以通過兩種方法停止該日志。一種是將 MySQL 配置文件中的相關(guān)配置注釋掉,然后重啟服務(wù)器,來停止通用查詢?nèi)罩?。具體內(nèi)容如下:
[mysqld]
#log=dir\filename
上述方法需要重啟 MySQL 服務(wù)器,這在某些場景,比如有業(yè)務(wù)量訪問的情況下是不允許的,這時可以通過另一種方法來動態(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 命令來開啟新的通用查詢?nèi)罩?。新的通用查詢?nèi)罩緯苯痈采w舊的查詢?nèi)罩?,不需要再手動刪除了。
mysqladmin 命令的語法如下:
mysqladmin -uroot -p flush-logs
需要注意的是,如果希望備份舊的通用查詢?nèi)罩?,必須先將舊的日志文件拷貝出來或者改名。然后,再執(zhí)行 mysqladmin 命令。
除了上述方法之外,還可以手工刪除通用查詢?nèi)罩?。刪除之后需要重新啟動 MySQL 服務(wù)。重啟之后就會生成新的通用查詢?nèi)罩尽H绻M麄浞菖f的日志文件,可以將舊的日志文件改名,然后重啟 MySQL 服務(wù)。
由于通用查詢?nèi)罩緯涗浻脩舻乃胁僮?,如果?shù)據(jù)庫的使用非常頻繁,通用查詢?nèi)罩緦加梅浅4蟮拇疟P空間,對系統(tǒng)性能影響較大。一般情況下,數(shù)據(jù)管理員可以刪除很長時間之前的通用查詢?nèi)罩净蜿P(guān)閉此日志,以保證 MySQL 服務(wù)器上的硬盤空間。
文章題目:創(chuàng)新互聯(lián)數(shù)據(jù)庫教程:MySQL通用查詢?nèi)罩荆℅eneralQueryLog)
本文路徑:http://m.5511xx.com/article/cosjjee.html


咨詢
建站咨詢
