MySQL查看操作記錄幾種常用的方法
MySQL 提供了多種方式來查看數(shù)據(jù)庫操作記錄,以下是幾種常用的方法:
1. 通用查詢?nèi)罩?(General Query Log)
通用查詢?nèi)罩居涗浟怂蠱ySQL服務(wù)器接收到的SQL語句,包括連接和斷開連接的信息。
啟用方法:
-- 查看當(dāng)前狀態(tài) SHOW VARIABLES LIKE 'general_log%'; -- 啟用通用查詢?nèi)罩? SET GLOBAL general_log = 'ON'; -- 設(shè)置日志文件路徑(可選) SET GLOBAL general_log_file = '/var/log/mysql/mysql-general.log';
查看日志:
cat /var/log/mysql/mysql-general.log
注意:生產(chǎn)環(huán)境不建議長期開啟,會影響性能。
2. 二進(jìn)制日志 (Binary Log)
二進(jìn)制日志記錄所有更改數(shù)據(jù)的SQL語句(DDL和DML),用于復(fù)制和恢復(fù)。
查看方法:
-- 查看是否啟用 SHOW VARIABLES LIKE 'log_bin'; -- 查看所有二進(jìn)制日志文件 SHOW BINARY LOGS; -- 查看特定二進(jìn)制日志內(nèi)容 SHOW BINLOG EVENTS IN 'mysql-bin.000001';
使用mysqlbinlog工具:
mysqlbinlog /var/lib/mysql/mysql-bin.000001
3. 慢查詢?nèi)罩?nbsp;(Slow Query Log)
記錄執(zhí)行時間超過指定閾值的SQL語句。
啟用方法:
-- 查看當(dāng)前狀態(tài) SHOW VARIABLES LIKE 'slow_query%'; -- 啟用慢查詢?nèi)罩? SET GLOBAL slow_query_log = 'ON'; -- 設(shè)置慢查詢閾值(秒) SET GLOBAL long_query_time = 2; -- 設(shè)置日志文件路徑 SET GLOBAL slow_query_log_file = '/var/log/mysql/mysql-slow.log';
4. 審計日志 (Enterprise Audit Log)
MySQL企業(yè)版提供審計功能,社區(qū)版可以通過插件實現(xiàn):
安裝審計插件:
INSTALL PLUGIN audit_log SONAME 'audit_log.so';
5. 查看歷史命令
對于當(dāng)前會話執(zhí)行的命令:
-- 查看當(dāng)前會話<a rel="external nofollow" target="_blank">執(zhí)行</a>過的SQL SELECT * FROM performance_schema.events_statements_history WHERE thread_id = PS_CURRENT_THREAD_ID();
6. 使用information_schema和performance_schema
-- 查看最近執(zhí)行的語句 SELECT * FROM performance_schema.events_statements_history_long ORDER BY EVENT_ID DESC LIMIT 10; -- 查看連接歷史 SELECT * FROM performance_schema.events_waits_history_long WHERE EVENT_NAME LIKE 'wait/io/socket%';
7. 查看MySQL歷史文件(客戶端)
MySQL客戶端會記錄執(zhí)行過的命令:
cat ~/.mysql_history
注意事項
日志記錄會影響性能,生產(chǎn)環(huán)境應(yīng)謹(jǐn)慎使用
日志文件會占用磁盤空間,需要定期清理
敏感操作日志應(yīng)妥善保管
MySQL 8.0在性能監(jiān)控方面有顯著增強(qiáng)
日志文件位置
Linux系統(tǒng)通常位于:
/var/log/mysql/Windows系統(tǒng)通常位于MySQL安裝目錄的data文件夾中
根據(jù)您的具體需求選擇合適的日志記錄方式,對于安全審計建議使用審計插件,對于性能優(yōu)化建議使用慢查詢?nèi)罩尽?/p>
總結(jié)
到此這篇關(guān)于MySQL查看操作記錄幾種常用的方法的文章就介紹到這了,更多相關(guān)MySQL查看操作記錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 5.7.22 二進(jìn)制包安裝及免安裝版Windows配置方法
這篇文章通過實例代碼給大家介紹了MySQL 5.7.22 二進(jìn)制包安裝教程,文章末尾給大家補(bǔ)充介紹了mysql 5.7.22 免安裝版Windows配置方法,感興趣的朋友跟隨腳本之家小編一起看看吧2018-08-08
SQL?Server攜程核心系統(tǒng)無感遷移到MySQL實戰(zhàn)
這篇文章主要介紹了SQL?Server攜程核心系統(tǒng)無感遷移到MySQL實戰(zhàn),文章通過基于數(shù)據(jù)庫部署架構(gòu)鏡像構(gòu)建了訂單緩存統(tǒng)一管理熱點數(shù)據(jù),解決各端差異,具體詳情需要的小伙伴可以參考下面文章詳細(xì)內(nèi)容2022-05-05
MySQL 線上數(shù)據(jù)庫清理數(shù)據(jù)的方法
這篇文章主要介紹了MySQL 線上數(shù)據(jù)庫清理數(shù)據(jù)的方法,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下2021-03-03

