欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL 使用開源審計(jì)插件示例詳解

 更新時(shí)間:2023年08月31日 09:19:33   作者:Bing@DBA  
審計(jì)插件是包含在 MariaDB 中的,所以需要先下載 MariaDB 然后將 server_audit.so 審計(jì)插件 copy 出來,這篇文章主要介紹了MySQL 使用開源審計(jì)插件,需要的朋友可以參考下

前言

MySQL 只有企業(yè)版有審計(jì)插件,開源社區(qū)版沒有審計(jì)插件。企業(yè)要通過等保需要開通審計(jì),這里記錄使用 MariaDB 開源審計(jì)插件,讓 MySQL 社區(qū)版擁有審計(jì)功能。

1. 審計(jì)插件下載

審計(jì)插件是包含在 MariaDB 中的,所以需要先下載 MariaDB 然后將 server_audit.so 審計(jì)插件 copy 出來。

MariaDB 的 10.1 版本對(duì)應(yīng)與 Oracle 的 MySQL 5.7 版本,這里是 MariaDB 官方下載地址 可以從鏈接里下載 MariaDB。

tar -zxvf mariadb-10.1.48-linux-systemd-x86_64.tar.gz

進(jìn)入 /lib/plugin/ 目錄可以找到 server_audit.so 審計(jì)插件:

ll ./mariadb-10.1.48-linux-systemd-x86_64/lib/plugin/server_audit.so
-rw-r--r-- 1 esadmin mysql 245036 Oct 30  2020 ./mariadb-10.1.48-linux-systemd-x86_64/lib/plugin/server_audit.so

接下來,需要將插件 copy 到 MySQL 插件目錄里面,可以執(zhí)行下方 SQL 查詢 MySQL base 目錄:

select @@basedir;
+-------------------+
| @@basedir         |
+-------------------+
| /usr/local/mysql/ |
+-------------------+

MySQL 插件目錄在 basedir/lib/plugin/ 下面,將插件 copy 到此目錄:

cp /pg_data/mariadb-10.1.48-linux-systemd-x86_64/lib/plugin/server_audit.so /usr/local/mysql/lib/plugin/

修改文件屬組,然后連接 MySQL 安裝插件:

install plugin server_audit SONAME 'server_audit.so';

通過下方命令確認(rèn)插件是否啟動(dòng)成功 Status = ACTIVE:

show plugins;
......
+----------------------------+----------+--------------------+-----------------+---------+
| Name                       | Status   | Type               | Library         | License |
+----------------------------+----------+--------------------+-----------------+---------+
| SERVER_AUDIT               | ACTIVE   | AUDIT              | server_audit.so | GPL     |
+----------------------------+----------+--------------------+-----------------+---------+

2. 審計(jì)插件參數(shù)

通過下方參數(shù)可以查看審計(jì)插件涉及到的參數(shù):

root@mysql 14:33:  [(none)]>show variables like '%audit%';
+-------------------------------+-----------------------+
| Variable_name                 | Value                 |
+-------------------------------+-----------------------+
| server_audit_events           |                       |
| server_audit_excl_users       |                       |
| server_audit_file_path        | server_audit.log      |
| server_audit_file_rotate_now  | OFF                   |
| server_audit_file_rotate_size | 1000000               |
| server_audit_file_rotations   | 9                     |
| server_audit_incl_users       |                       |
| server_audit_loc_info         |                       |
| server_audit_logging          | OFF                   |
| server_audit_mode             | 1                     |
| server_audit_output_type      | file                  |
| server_audit_query_log_limit  | 1024                  |
| server_audit_syslog_facility  | LOG_USER              |
| server_audit_syslog_ident     | mysql-server_auditing |
| server_audit_syslog_info      |                       |
| server_audit_syslog_priority  | LOG_INFO              |
+-------------------------------+-----------------------+

2.1 server_audit_events

該參數(shù)設(shè)置需要保存哪些類型的 SQL 語句,可以保存的類型有:CONNECT, QUERY, TABLE, QUERY_DDL, QUERY_DML, QUERY_DCL, QUERY_DML_NO_SELECT

如果沒有設(shè)置該參數(shù),將記錄所有類型的 SQL 語句。

2.2 server_audit_excl_users

用戶列表,設(shè)置后表示該列表的用戶行為將不會(huì)被記錄,相當(dāng)于一個(gè)黑名單。

2.3 server_audit_output_type

指定日志輸出類型,可為 SYSLOG 或 FILE,默認(rèn)和推薦使用的模式都是 FILE 模式。

2.4 server_audit_file_path

當(dāng) server_audit_output_type=file 時(shí),通過該參數(shù)可以設(shè)置日志存放目錄,默認(rèn)為 server_audit.log 表示在數(shù)據(jù)目錄。

2.5 server_audit_file_rotate_now

強(qiáng)制日志文件輪轉(zhuǎn)。

2.6 server_audit_file_rotate_size

限制日志文件的大小,默認(rèn)為 1000000

2.7 server_audit_file_rotations

日志輪轉(zhuǎn)的次數(shù),默認(rèn)為 0 表示不輪轉(zhuǎn)。

2.8 server_audit_incl_users

用戶列表,設(shè)置后表示哪些用戶的操作需要被記錄,優(yōu)先級(jí)高于 server_audit_excl_users 參數(shù)列表。

2.9 server_audit_loc_info

記錄內(nèi)部信息,用戶可忽略。

2.10 server_audit_logging

默認(rèn)為 OFF,設(shè)置為 ON 表示打開審計(jì)日志記錄。

2.11 server_audit_mode

內(nèi)核人員開發(fā)調(diào)試使用的參數(shù),用戶可忽略。

2.12 server_audit_query_log_limit

限制審計(jì)日志記錄中字符串長度,默認(rèn)為 1024。

2.13 server_audit_syslog_facility

SYSLOG-mode 變量,設(shè)置一些 “facility”。

2.14 server_audit_syslog_ident

設(shè)置 ident 作為審計(jì)日志的一部分。

2.15 server_audit_syslog_info

將指定字符串添加到審計(jì)日志中。

2.16 server_audit_syslog_priority

SYSLOG-mode 變量,為 syslog 定義日志記錄的優(yōu)先級(jí)。

3. 審計(jì)插件使用

開啟審計(jì)日志,每個(gè)日志大小為 5G 可以有 10 文件進(jìn)行輪換。

server_audit_logging = ON
server_audit_file_path = /pg_data/mysql_audit_log
server_audit_file_rotate_size = 5G
server_audit_file_rotations = 10
server_audit_file_rotate_now = ON

server_audit_file_path 參數(shù)的目錄需要提前創(chuàng)建好,并配置 mysql 屬組,然后重啟 MySQL 服務(wù)。

審計(jì)日志的記錄格式是:

[timestamp],[serverhost],[username],[host],[connectionid],[queryid],[operation],[database],[object],[retcode]
20230830 15:55:51,db4,root,localhost,2,0,CONNECT,,,0
20230830 15:55:51,db4,root,localhost,2,1,QUERY,,'select @@version_comment limit 1',0
20230830 15:55:51,db4,root,localhost,2,2,QUERY,,'select USER()',0
20230830 15:55:56,db4,root,localhost,2,3,QUERY,,'show databases',0
20230830 15:56:16,db4,root,localhost,2,4,QUERY,,'SELECT DATABASE()',0
20230830 15:56:16,db4,root,localhost,2,6,QUERY,op_service_db,'show databases',0
20230830 15:56:16,db4,root,localhost,2,7,QUERY,op_service_db,'show tables',0
20230830 15:56:19,db4,root,localhost,2,19,QUERY,op_service_db,'show tables',0
20230830 15:59:25,db4,root,localhost,2,20,QUERY,op_service_db,'set global server_audit_syslog_ident = \'test01\'',0

4. 卸載審計(jì)插件

執(zhí)行下方 SQL 卸載插件即可:

UNINSTALL PLUGIN 'server_audit';

5. 總結(jié)

以上就是審計(jì)日志的配置和使用說明,值得注意的是,開通審計(jì)會(huì)增加數(shù)據(jù)庫性能開銷,需要關(guān)注磁盤空間使用情況。

到此這篇關(guān)于MySQL 使用開源審計(jì)插件的文章就介紹到這了,更多相關(guān)MySQL審計(jì)插件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL 優(yōu)化設(shè)置步驟

    MySQL 優(yōu)化設(shè)置步驟

    mysql的一些運(yùn)行效率等優(yōu)化設(shè)置,建議擁有服務(wù)器的朋友,可以測試。
    2009-03-03
  • mysql 字符串正則表達(dá)式及說明

    mysql 字符串正則表達(dá)式及說明

    這篇文章主要介紹了mysql 字符串正則表達(dá)式及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Mysql數(shù)據(jù)庫中把varchar類型轉(zhuǎn)化為int類型的方法

    Mysql數(shù)據(jù)庫中把varchar類型轉(zhuǎn)化為int類型的方法

    這篇文章主要介紹了Mysql數(shù)據(jù)庫中把varchar類型轉(zhuǎn)化為int類型的方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • 一文了解MySQL Optimizer Trace的神奇功能

    一文了解MySQL Optimizer Trace的神奇功能

    這篇文章主要為大家介紹了一文了解MySQL Optimizer Trace的神奇功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 在MySQL中增添新用戶權(quán)限的方法

    在MySQL中增添新用戶權(quán)限的方法

    在MySQL中增添新用戶權(quán)限的方法...
    2007-03-03
  • Mysql的水平分表與垂直分表的講解

    Mysql的水平分表與垂直分表的講解

    今天小編就為大家分享一篇關(guān)于Mysql的水平分表與垂直分表的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Mysql 5.7.19 免安裝版遇到的坑(收藏)

    Mysql 5.7.19 免安裝版遇到的坑(收藏)

    這篇文章給大家分享了mysql 5.7.19免安裝版在安裝過程中遇到的一些問題,以前有mysql服務(wù)的話 需要去停掉mysql服務(wù)。具體內(nèi)容介紹大家參考下本文
    2017-08-08
  • MySQL錯(cuò)誤ERROR 1615 解決方法

    MySQL錯(cuò)誤ERROR 1615 解決方法

    這篇文章主要介紹了MySQL錯(cuò)誤ERROR 1615 解決方法,這個(gè)問題是由于Mysql配置不當(dāng)造成的,需要的朋友可以參考下
    2015-01-01
  • mysql中TIMESTAMPDIFF案例詳解

    mysql中TIMESTAMPDIFF案例詳解

    這篇文章主要介紹了mysql中TIMESTAMPDIFF案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • MySQL表的內(nèi)外連接和視圖使用實(shí)戰(zhàn)練習(xí)

    MySQL表的內(nèi)外連接和視圖使用實(shí)戰(zhàn)練習(xí)

    這篇文章主要給大家介紹了關(guān)于MySQL表的內(nèi)外連接和視圖使用的相關(guān)資料,MySQL的內(nèi)外連接查詢是用于將兩個(gè)或多個(gè)表中的數(shù)據(jù)進(jìn)行關(guān)聯(lián)查詢的一種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01

最新評(píng)論