最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL 審計(jì)級(jí)別配置實(shí)現(xiàn)步驟

 更新時(shí)間:2026年03月19日 09:13:51   作者:喝醉酒的小白  
本文主要介紹了MySQL 審計(jì)級(jí)別配置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

基于 145 環(huán)境 mysql-0d130fde 實(shí)例驗(yàn)證

實(shí)例信息:

  • 集群:x.x.x.145
  • 命名空間:qfusion-admin
  • 插件:Percona Audit Plugin (audit_log.so)
  • MySQL 版本:8.0.35

一、當(dāng)前環(huán)境審計(jì)配置

1.1 已安裝的審計(jì)插件

audit_log    ACTIVE    AUDIT    audit_log.so    GPL

1.2 當(dāng)前審計(jì)參數(shù)

參數(shù)說(shuō)明
audit_log_policyALL當(dāng)前審計(jì)級(jí)別(全量)
audit_log_formatJSON日志格式
audit_log_file/var/log/mysql/audit.log日志文件路徑
audit_log_rotate_on_size536870912 (512MB)日志輪轉(zhuǎn)大小
audit_log_rotations10保留日志文件數(shù)量
audit_log_strategyASYNCHRONOUS異步寫入策略
audit_log_buffer_size1048576 (1MB)緩沖區(qū)大小
audit_log_max_sqltext2048SQL最大記錄長(zhǎng)度
audit_log_exclude_accountsroot@%,root@localhost,repl@%,@排除審計(jì)賬戶
audit_log_display_query_timeON顯示查詢耗時(shí)

二、Percona Audit Plugin 審計(jì)級(jí)別詳解

Percona Audit Plugin 支持 4 種審計(jì)策略(policy)

Policy 對(duì)照表

Policy等級(jí)審計(jì)內(nèi)容
NONELevel 0關(guān)閉審計(jì)
LOGINSLevel 1連接事件 + 默認(rèn)查詢記錄
QUERIESLevel 2所有 SQL 查詢(不含連接)
ALLLevel 3連接 + 查詢(完整審計(jì))

注意:Percona 的 LOGINS 級(jí)別仍會(huì)記錄 Query,這是與 MariaDB Audit Plugin 的區(qū)別。

三、各級(jí)別詳細(xì)說(shuō)明

Level 0: NONE(關(guān)閉審計(jì))

設(shè)置方式

SET GLOBAL audit_log_policy=NONE;

特點(diǎn)

  • 不記錄任何審計(jì)信息
  • 性能影響:0%
  • 適用場(chǎng)景:壓測(cè)、開(kāi)發(fā)環(huán)境

驗(yàn)證結(jié)果

# 執(zhí)行查詢
SELECT 1;

# 審計(jì)日志:無(wú)新增記錄

Level 1: LOGINS(基礎(chǔ)審計(jì))

設(shè)置方式

SET GLOBAL audit_log_policy=LOGINS;

記錄內(nèi)容

  • Connect 事件(用戶登錄)
  • Quit 事件(用戶登出)
  • Query 事件(Percona 特性:LOGINS 級(jí)別仍記錄 SQL)

適用場(chǎng)景

  • 生產(chǎn)環(huán)境常態(tài)
  • 等保合規(guī)(基礎(chǔ)級(jí))

審計(jì)日志示例

{"name":"Connect","record":"464","timestamp":"2025-12-24T09:48:53Z","user":"audit_test","host":"localhost"}
{"name":"Query","record":"466","timestamp":"2025-12-24T09:48:53Z","command_class":"select","sqltext":"SELECT 1"}
{"name":"Quit","record":"468","timestamp":"2025-12-24T09:48:53Z","user":"audit_test"}

性能影響

  • 很低(< 3%)

Level 2: QUERIES(增強(qiáng)審計(jì))

設(shè)置方式

SET GLOBAL audit_log_policy=QUERIES;

記錄內(nèi)容

  • 所有 SQL 查詢(SELECT / INSERT / UPDATE / DELETE / DDL)
  • 不記錄 Connect/Quit 事件

適用場(chǎng)景

  • 核心業(yè)務(wù)庫(kù)
  • 需要 SQL 級(jí)別追溯
  • 金融/電力/政企系統(tǒng)

審計(jì)日志示例

{"name":"Query","record":"471","timestamp":"2025-12-24T09:49:03Z","command_class":"select","sqltext":"SELECT 1"}
{"name":"Query","record":"472","timestamp":"2025-12-24T09:49:03Z","command_class":"delete","sqltext":"DELETE FROM test_audit.t WHERE id=1"}

性能影響

  • 中等(5% ~ 10%)
  • 與 SQL 頻率正相關(guān)

Level 3: ALL(全量審計(jì))

設(shè)置方式

SET GLOBAL audit_log_policy=ALL;

記錄內(nèi)容

  • Connect 事件
  • Quit 事件
  • 所有 SQL 查詢
  • 完整上下文(用戶、IP、時(shí)間、耗時(shí))

適用場(chǎng)景

  • 安全事件追溯
  • 應(yīng)急排查(短期開(kāi)啟)
  • 高合規(guī)要求環(huán)境

審計(jì)日志示例

{"name":"Connect","record":"474","timestamp":"2025-12-24T09:49:16Z","user":"audit_test","host":"localhost"}
{"name":"Query","record":"475","timestamp":"2025-12-24T09:49:16Z","command_class":"select","sqltext":"select @@version_comment limit 1"}
{"name":"Query","record":"476","timestamp":"2025-12-24T09:49:16Z","command_class":"select","sqltext":"SELECT * FROM test_audit.t"}
{"name":"Quit","record":"477","timestamp":"2025-12-24T09:49:16Z","user":"audit_test"}

性能影響

  • 較高(10% ~ 20%+)
  • 日志量快速增長(zhǎng)
  • 長(zhǎng)期開(kāi)啟需謹(jǐn)慎

四、審計(jì)日志字段說(shuō)明

JSON 格式字段

字段說(shuō)明
name事件類型(Connect/Query/Quit/Table/Audit)
timestampUTC 時(shí)間戳
connection_id連接 ID
user執(zhí)行用戶
host連接來(lái)源主機(jī)
ip客戶端 IP
db數(shù)據(jù)庫(kù)名
command_classSQL 類型(select/insert/update/delete/drop等)
sqltext完整 SQL 文本
status執(zhí)行狀態(tài)碼(0=成功)
start_time查詢開(kāi)始時(shí)間(微秒)
end_time查詢結(jié)束時(shí)間(微秒)

五、高級(jí)配置技巧

5.1 排除特定賬戶審計(jì)

當(dāng)前環(huán)境已配置排除 root 用戶:

-- 查看排除列表
SHOW VARIABLES LIKE 'audit_log_exclude_accounts';

-- 設(shè)置排除賬戶
SET GLOBAL audit_log_exclude_accounts='root@%,root@localhost,repl@%,@';

5.2 只審計(jì)特定數(shù)據(jù)庫(kù)

-- 只審計(jì)特定庫(kù)
SET GLOBAL audit_log_include_databases='business_db,core_db';

5.3 只審計(jì)特定 SQL 類型

-- 只審計(jì) DML
SET GLOBAL audit_log_include_commands='insert,update,delete';

5.4 日志輪轉(zhuǎn)配置

-- 單文件最大 512MB
SET GLOBAL audit_log_rotate_on_size=536870912;

-- 保留 10 個(gè)歷史文件
SET GLOBAL audit_log_rotations=10;

六、生產(chǎn)環(huán)境建議

6.1 通用生產(chǎn)庫(kù)(99% 場(chǎng)景)

推薦配置LOGINS + 慢日志

SET GLOBAL audit_log_policy=LOGINS;
SET GLOBAL long_query_time=1;

優(yōu)勢(shì)

  • 審計(jì)連接 + DDL
  • 性能穩(wěn)定
  • 易長(zhǎng)期運(yùn)行

6.2 核心業(yè)務(wù) / 金融 / 電力

推薦配置QUERIES + 定期清理

SET GLOBAL audit_log_policy=QUERIES;

配合措施

  • 定期歸檔審計(jì)日志
  • 集中化日志收集(ELK)
  • 設(shè)置日志輪轉(zhuǎn)

6.3 不推薦配置

-- 長(zhǎng)期開(kāi)啟 ALL,配合 audit_log_strategy=ASYNCHRONOUS
SET GLOBAL audit_log_policy=ALL;
SET GLOBAL audit_log_strategy=ASYNCHRONOUS;

風(fēng)險(xiǎn)

  • 高并發(fā)下可能引發(fā) I/O 抖動(dòng)
  • 日志文件占用大量磁盤
  • 影響主備同步延遲

七、審計(jì) vs 其他日志

日志類型安全合規(guī)數(shù)據(jù)恢復(fù)性能分析SELECT記錄
審計(jì)日志???可選
binlog????
慢日志???僅慢SQL

八、常見(jiàn)問(wèn)題

Q1: 為什么 LOGINS 級(jí)別還記錄 Query?

A: Percona Audit Plugin 的 LOGINS 級(jí)別行為與 MariaDB 不同,會(huì)同時(shí)記錄連接和查詢。如需只記錄連接,需使用 audit_log_exclude_commands 過(guò)濾。

Q2: 如何臨時(shí)關(guān)閉審計(jì)?

SET GLOBAL audit_log_policy=NONE;

Q3: 審計(jì)文件滿了怎么辦?

審計(jì)插件會(huì)自動(dòng)輪轉(zhuǎn),但建議配置監(jiān)控:

# 檢查審計(jì)日志大小
ls -lh /var/log/mysql/audit.log*

# 設(shè)置定期清理任務(wù)
find /var/log/mysql/audit.log* -mtime +30 -delete

Q4: 審計(jì)影響有多大?

實(shí)測(cè)數(shù)據(jù)(參考):

  • NONE: 0% 影響
  • LOGINS: ??% 影響
  • QUERIES: 5-10% 影響
  • ALL: 10-20%+ 影響(與 QPS 正相關(guān))

九、配置模板

等保合規(guī)配置(my.cnf)

[mysqld]
# 加載審計(jì)插件(通常已預(yù)裝)
plugin-load=audit_log.so

# 審計(jì)策略
audit_log_policy=LOGINS
audit_log_format=JSON
audit_log_file=/var/log/mysql/audit.log

# 輪轉(zhuǎn)配置
audit_log_rotate_on_size=536870912
audit_log_rotations=9

# 排除管理賬戶(避免日志膨脹)
audit_log_exclude_accounts=root@%,root@localhost,repl@%,@

# 性能優(yōu)化
audit_log_strategy=ASYNCHRONOUS
audit_log_buffer_size=1048576

# SQL 記錄配置
audit_log_max_sqltext=2048
audit_log_display_query_time=ON

到此這篇關(guān)于MySQL 審計(jì)級(jí)別配置實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)MySQL 審計(jì)級(jí)別配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL如何查看數(shù)據(jù)庫(kù)連接數(shù)

    MySQL如何查看數(shù)據(jù)庫(kù)連接數(shù)

    本文介紹了在MySQL中查看數(shù)據(jù)庫(kù)連接數(shù)的多種方法,包括使用SHOWSTATUS命令、查詢information_schema數(shù)據(jù)庫(kù)、使用SHOWPROCESSLIST命令、查看最大連接數(shù)以及使用性能模式,每個(gè)方法都有詳細(xì)的示例和注意事項(xiàng),幫助你有效地監(jiān)控和管理數(shù)據(jù)庫(kù)連接
    2024-11-11
  • pt-kill 常用殺進(jìn)程參數(shù)介紹

    pt-kill 常用殺進(jìn)程參數(shù)介紹

    這篇文章主要介紹了pt-kill 常用殺進(jìn)程參數(shù)介紹,需要的朋友可以參考下
    2016-04-04
  • mysql 字符串長(zhǎng)度計(jì)算實(shí)現(xiàn)代碼(gb2312+utf8)

    mysql 字符串長(zhǎng)度計(jì)算實(shí)現(xiàn)代碼(gb2312+utf8)

    PHP對(duì)中文字符串的處理一直困擾于剛剛接觸PHP開(kāi)發(fā)的新手程序員。下面簡(jiǎn)要的剖析一下PHP對(duì)中文字符串長(zhǎng)度的處
    2011-12-12
  • MySQL中查詢當(dāng)天數(shù)據(jù)中離時(shí)間點(diǎn)最近的數(shù)據(jù)(兩種方法)

    MySQL中查詢當(dāng)天數(shù)據(jù)中離時(shí)間點(diǎn)最近的數(shù)據(jù)(兩種方法)

    在 MySQL 中,你可以使用 ORDER BY 和 LIMIT 語(yǔ)句來(lái)查詢當(dāng)天數(shù)據(jù)中離指定時(shí)間最近的數(shù)據(jù),本文給大家介紹MySQL中查詢當(dāng)天數(shù)據(jù)中離時(shí)間點(diǎn)最近的數(shù)據(jù),感興趣的朋友一起看看吧
    2023-12-12
  • MySQL自增列解析(Auto_increment)

    MySQL自增列解析(Auto_increment)

    MySQL數(shù)據(jù)庫(kù)為列提供了一種自增屬性,本文主要介紹了MySQL自增列解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • MySQL5.7.18主從復(fù)制搭建(一主一從)教程詳解

    MySQL5.7.18主從復(fù)制搭建(一主一從)教程詳解

    MySQL使用3個(gè)線程來(lái)執(zhí)行復(fù)制功能(其中1個(gè)在主服務(wù)器上,另兩個(gè)在從服務(wù)器上。這篇文章主要介紹了MySQL5.7.18主從復(fù)制搭建(一主一從)教程詳解,需要的朋友可以參考下
    2017-08-08
  • 簡(jiǎn)單談?wù)凪ySQL優(yōu)化利器-慢查詢

    簡(jiǎn)單談?wù)凪ySQL優(yōu)化利器-慢查詢

    分析MySQL語(yǔ)句查詢性能的方法除了使用 EXPLAIN 輸出執(zhí)行計(jì)劃,還可以讓MySQL記錄下查詢超過(guò)指定時(shí)間的語(yǔ)句,我們將超過(guò)指定時(shí)間的SQL語(yǔ)句查詢稱為“慢查詢”
    2017-01-01
  • MySQL無(wú)法啟動(dòng)1067錯(cuò)誤的又一種解決方法(機(jī)房斷電)

    MySQL無(wú)法啟動(dòng)1067錯(cuò)誤的又一種解決方法(機(jī)房斷電)

    今早在對(duì)一張table 創(chuàng)建primay key過(guò)程中發(fā)生了斷電,當(dāng)電腦再次啟動(dòng)時(shí)候,發(fā)現(xiàn)mysql 服務(wù)無(wú)法啟動(dòng),使用 net start 提示 1067錯(cuò)誤,折騰了2個(gè)小時(shí)無(wú)法解決,后來(lái)只能通過(guò)手工刪除數(shù)據(jù)文件,日志文件,再啟動(dòng)服務(wù),然后導(dǎo)入數(shù)據(jù)來(lái)完成
    2013-01-01
  • MySql 8.0及對(duì)應(yīng)驅(qū)動(dòng)包匹配的注意點(diǎn)說(shuō)明

    MySql 8.0及對(duì)應(yīng)驅(qū)動(dòng)包匹配的注意點(diǎn)說(shuō)明

    這篇文章主要介紹了MySql 8.0及對(duì)應(yīng)驅(qū)動(dòng)包匹配的注意點(diǎn)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • MySQL中出現(xiàn)亂碼和表格不對(duì)齊的解決辦法

    MySQL中出現(xiàn)亂碼和表格不對(duì)齊的解決辦法

    這篇文章給大家介紹了MySQL中出現(xiàn)亂碼和表格不對(duì)齊的解決辦法,文中通過(guò)代碼和圖文講解的非常詳細(xì),對(duì)大家的解決MySQL中出現(xiàn)亂碼和表格不對(duì)齊有一定的幫助,需要的朋友可以參考下
    2024-02-02

最新評(píng)論

井陉县| 攀枝花市| 双辽市| 冷水江市| 抚州市| 凤翔县| 上饶市| 龙南县| 武陟县| 临安市| 茶陵县| 游戏| 时尚| 内黄县| 京山县| 睢宁县| 甘谷县| 浦县| 宜黄县| 格尔木市| 临澧县| 松潘县| 许昌市| 治多县| 武汉市| 吴旗县| 连云港市| 普格县| 晋中市| 蒙阴县| 贵南县| 乌鲁木齐县| 邯郸县| 泾川县| 阿合奇县| 依兰县| 泗阳县| 庄河市| 高尔夫| 商城县| 门源|