Mysql8啟用日志審計插件

概述

等保要求,數據庫啟用日志審計。Mysql8上面使用開源插件audit-plugin-for-mysql(MariaDB的審計插件不用折騰了,無論直接使用還是編譯使用,在Mysql8上都不行)

插件下載

  • 日志審計插件下載地址:
    https://codeload.github.com/Vettabase/audit-plugin-for-mysql/zip/refs/heads/mysql-8.0

插件安裝

    1. 解壓下載文件
unzip audit-plugin-for-mysql-mysql-8.0.zip
    1. 找到mysql插件存儲目錄
mysql> SHOW VARIABLES LIKE 'plugin_dir';
+---------------+--------------------------+
| Variable_name | Value                    |
+---------------+--------------------------+
| plugin_dir    | /usr/lib64/mysql/plugin/ |
+---------------+--------------------------+
1 row in set (0.01 sec)mysql> 
    1. 拷貝插件并賦權
cp audit-plugin-for-mysql-mysql-8.0/build/server_audit.so /usr/lib64/mysql/plugin/
chown  mysql:mysql  /usr/lib64/mysql/plugin/server_audit.so
chmod  755  /usr/lib64/mysql/plugin/server_audit.so
    1. 編輯Mysql配置文件
vim /etc/my.cnf# 配置server_audit 參數,根據實際情況調整
plugin_load_add = server_audit
#plugin_load_add = server_audit.so  # 確保插件開機加載
server_audit = FORCE_PLUS_PERMANENT  # 防止插件被卸載:cite[5]:cite[9]
server_audit_logging = ON
server_audit_events = 'CONNECT,QUERY_DDL,QUERY_DCL'
server_audit_file_path = /var/log/mysql/audit.log
server_audit_file_rotate_size = 0  # 禁用
server_audit_file_rotations = 0    # 禁用
#server_audit_excl_users = root  # 排除root用戶
    1. 安裝插件
mysql> INSTALL PLUGIN server_audit SONAME 'server_audit.so';
Query OK, 0 rows affected (0.09 sec)mysql> 
    1. 檢查審計日志
[root@centos7-05145 mysql]# ll /var/log/mysql
總用量 72
-rw-r----- 1 mysql mysql  4760 624 10:00 audit.log
-rw-r----- 1 mysql mysql 19094 624 09:12 mysql_3306-error.log
-rw-r----- 1 mysql mysql 43378 624 09:53 mysql_3306-slow.log

配置日志保存

  • 創建 logrotate配置文件
 vim /etc/logrotate.d/mysql_audit 
  • 添加以下內存并保存(本機配置185天是示例,保存6個月日志請考慮合理備份方案)
  • 如果要求日志保存嚴謹,請不要使用copytruncate方式,請參考以下postrotate示例
/var/log/mysql/audit.log {# 每天輪轉一次daily# 保留185天的日志rotate 185# 壓縮舊日志compress# 延遲1天壓縮delaycompress# 如果日志不存在也不報錯missingok# 空日志不輪轉notifempty# 復制后截斷原文件(避免重啟)copytruncate# 使用mysql賬號操作su mysql mysql# 設置文件日期后綴dateextdateformat -%Y%m%d
}
#/var/log/mysqld.log {
#        create 640 mysql mysql
#        notifempty
#        daily
#        rotate 5
#        missingok
#        compress
#    postrotate
#       # just if mysqld is really running
#       if test -x /usr/bin/mysqladmin && \
#          /usr/bin/mysqladmin ping &>/dev/null
#       then
#          /usr/bin/mysqladmin flush-logs
#       fi
#    endscript
#}
  • 檢查cron狀態(確保開機運行)
systemctl status crond● crond.service - Command SchedulerLoaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)Active: active (running) since 五 2025-05-23 10:52:13 CST; 1 months 1 days agoMain PID: 1331 (crond)CGroup: /system.slice/crond.service└─1331 /usr/sbin/crond -n523 10:52:13 centos7-172-028-002-001 systemd[1]: Started Command Scheduler.
523 10:52:13 centos7-172-028-002-001 crond[1331]: (CRON) INFO (Syslog will be used instead of sendmail.)
523 10:52:13 centos7-172-028-002-001 crond[1331]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 79% if used.)
523 10:52:13 centos7-172-028-002-001 crond[1331]: (CRON) INFO (running with inotify support)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/88511.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/88511.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/88511.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

機器學習-線性模型

目錄 線性模型 1、線性回歸: 2、對數幾率回歸: 3、線性判別分析: 4、多分類學習: 5、類別不平衡問題: 基本數理知識補充: 損失函數: 凹凸函數 梯度下降 線性模型 線性模型形式簡單、易…

Git上傳代碼如何解決Merge沖突

示例 解決方案 1、第一步切到本地的主分支 git checkout master2、拉取線上最新的代碼 git pull3、切到本地自己的分支 gco feat-xx4、將代碼從master變基&#xff08;移動/合并&#xff09;過來 git rebase master5、手動解決沖突 <<<<<<< HEAD 本…

fluentd + elasticsearch + grafana 不能顯示問題

fluentd中配置log 源文件后&#xff0c;再配置elasticsearch后&#xff0c; elasticsearch pod中查詢日志記錄正常。 修改log 文件 后&#xff0c; elasticsearch pod中查詢日志記錄更新也正常。 但是在grafana中添加elasticsearch data source后&#xff0c; 連接正常&#…

《分布式事務新形態:AT模式如何被Seata TCC擊穿》的深度解析,包含AT死鎖原理/TCC原子性保障/Service Mesh深度集成三大硬核模塊

一、AT模式的死刑判決&#xff1a;全局鎖引發的血案 1.1 死鎖現場還原&#xff08;支付寶真實案例&#xff09; 1.2 全局鎖原理與缺陷 二、TCC模式的絕地反擊&#xff1a;原子性保障三板斧 2.1 TCC核心架構設計 2.2 冪等控制原子防護網 三、Service Mesh深度集成&#xf…

【Elasticsearch】es初識,在項目架構中的用途,與mysql和kafka的配合使用,

ES是一個開源的高擴展的分布式全文檢索引擎 在項目已有mysql增刪改查的情況下&#xff0c;新增kafka&#xff0c;es流程 用戶新增/修改商家&#xff08;寫MySQL&#xff09; ↓ Kafka 生產者發送商家數據消息 ↓ Kafka 消費者監聽消息 → 寫入 Elasticsearch ↓ 前端搜索商家時…

【DataWhale組隊學習】AI辦公實踐與應用-數據分析

AI辦公&#xff1a;數據分析 1. 使用大模型進行數據分析的常見流程 把數據扔給AI讓AI自動分析&#xff0c;并告訴你結果 下面我們對上面兩個步驟進行詳細說明 2. 使用大模型進行數據分析 2.1 將數據扔給大模型 2.1.1 選擇合適的辦公大模型 要使用大模型進行數據分析時&a…

5G 浪潮:發展全景、困境突圍與未來航向

在當今數字化浪潮中&#xff0c;5G 技術宛如一顆璀璨的明星&#xff0c;照亮了各個行業前行的道路。自 5G 正式商用以來&#xff0c;它不僅深刻改變了人們的生活方式&#xff0c;更在工業、農業、交通等領域掀起了一場數字化轉型的革命。本文將深入探討 5G 技術的原理、發展現狀…

理論加案例,一文讀懂數據分析中的分類建模

一、什么是分類 分類&#xff0c;是數據建模領域的重要分支&#xff0c;你每天也都會接觸。 手機垃圾短信過濾&#xff0c;就是分類算法給短信打的標簽&#xff0c;比如0代表正常短信&#xff0c;1代表垃圾短信。 在醫學領域&#xff0c;根據影像檢查判斷腫瘤是良性還是惡性。…

數組題解——二分查找【LeetCode】

704. 二分查找 算法邏輯分析 初始化邊界 left 設為0&#xff0c;right 設為len(nums)&#xff0c;表示左閉右開區間 [left, right)。這意味著搜索區間包含下標left&#xff0c;但不包含下標right。 循環條件 while left < right:&#xff0c;只要left小于right&#xff0c…

Function AI 工作流發布:以 AI 重塑企業流程自動化

作者&#xff1a;寒斜 在 AI 技術飛速發展的今天&#xff0c;企業的流程自動化方式也正在發生深刻變革。過去&#xff0c;流程自動化往往依賴于人工配置和固定規則&#xff0c;難以適應復雜、多變的業務場景。而如今&#xff0c;隨著 LLM&#xff0c;Agent&#xff0c;MCP 等節…

【單元測試】單元測試的定義和作用

介紹 ?單元測試不僅是對函數進行測試&#xff0c;還包括對類、組件等最小可測試單元的測試?。單元測試是對軟件中的最小可測試單元進行驗證的過程&#xff0c;這些單元可以是函數、方法、類或組件等。單元測試的主要目的是確保這些最小單元在隔離的環境中能夠正確地實現其功…

AI 輔助生成 Mermaid 流程圖

文章目錄 背景Mermaid使用 AI 編寫 Mermaid應用 背景 在 markdown 文檔中雖然可以插入圖片&#xff0c;但是也需要管理圖片&#xff0c;一旦圖片位置變了&#xff0c;文檔中的圖片就無法顯示。圖片占用空間較大&#xff0c;對于在線文檔&#xff0c;為了加載速度&#xff0c;能…

定位坐標系深度研究報告

一、引言 定位坐標系是用于描述地理位置的數學工具&#xff0c;其發展與人類對地球形狀的認知和技術需求密切相關。早期的定位依賴于天文觀測&#xff08;如經緯度&#xff09;&#xff0c;現代則結合衛星技術&#xff08;如GPS&#xff09;和數學投影方法&#xff08;如墨卡托…

數字孿生技術引領UI前端設計潮流:沉浸式體驗的新篇章

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 當虛擬世界與物理現實的邊界逐漸模糊&#xff0c;數字孿生技術正以燎原之勢重構 UI 前端設計的…

VR油庫虛擬仿真系統:開啟智慧油庫新時代

在科技快速發展的當下&#xff0c;VR 技術在多行業廣泛應用&#xff0c;以沉浸式等特點重塑行業模式。油庫作為石油儲存與轉運關鍵樞紐&#xff0c;傳統運營管理依賴人工經驗和常規設備&#xff0c;存在安全風險高、培訓成本大等問題。在此背景下&#xff0c;油庫引入 VR 虛擬仿…

Oracle獲取前100條記錄

在Oracle數據庫中&#xff0c;獲取前100條記錄可以通過多種方式實現&#xff0c;最常見的方法是使用ROWNUM或者在較新版本的Oracle中使用FETCH FIRST子句。以下是幾種常見的方法&#xff1a; 方法1&#xff1a;使用ROWNUM ROWNUM是Oracle特有的一個偽列&#xff0c;用于為結果…

【開源庫 | libpng】使用 libpng 讀寫 png 文件詳細教程(附帶源碼)

&#x1f601;博客主頁&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客內容&#x1f911;&#xff1a;&#x1f36d;嵌入式開發、Linux、C語言、C、數據結構、音視頻&#x1f36d; &#x1f923;本文內容&#x1f923;&a…

Nuttx之nxsched_add_readytorun(non-SMP)

聲明&#xff1a;此處代碼分析&#xff0c;來源與 nuttx 12.8.0版本。 在分析之前&#xff0c;需要一圖鎮樓。 /***************************************************************************** Name: nxsched_add_readytorun** Description:* This function adds a TCB …

Nuttx之nxsched_add_blocked

聲明&#xff1a;此處代碼分析&#xff0c;來源與 nuttx 12.8.0版本。 在分析之前&#xff0c;需要一圖鎮樓。 /***************************************************************************** Name: nxsched_add_blocked** Description:* This function adds a TCB to o…

python 包含虛擬環境venv項目的移動

python 包含虛擬環境venv項目的移動 在ubuntu環境下&#xff0c;移動一個包含venv虛擬環境的項目后&#xff0c;在執行時會報錯: 錯誤1&#xff1a; Traceback (most recent call last):File "app.py", line 2, in <module>from flask import Flask, request…