mysql的審計日誌 審計日誌的資料庫設計

2021-10-18 11:46:35 字數 1174 閱讀 4731

一些wiki平台使用的一種方法是分離識別資料和您正在審核的內容。 它增加了複雜性,但您最終得到了完整記錄的審計跟蹤,而不僅僅是已編輯的字段列表,您必須將其混搭以便讓使用者了解舊記錄的外觀。

例如,如果您有乙個名為opportunities的表來跟蹤銷售交易,您實際上會建立兩個單獨的表:

機會opportunities_content(或類似的東西)

「機會」表將包含您用於唯一標識記錄的資訊,幷包含您為外來鍵關係引用的主鍵。 opportunities_content表將包含您的使用者可以更改的所有字段以及您希望保留審計跟蹤的字段。 內容表中的每條記錄都包含自己的pk以及修改日期和修改日期資料。 機會表將包括對當前版本的引用以及有關何時最初建立主記錄以及由誰建立的資訊。

這是乙個簡單的例子:

create table dbo.page(

id int primary key,

name nvarchar(200) not null,

createdbyname nvarchar(100) not null,

currentrevision int not null,

createddatetime datetime not null

內容如下:

create table dbo.pagecontent(

pageid int not null,

revision int not null,

title nvarchar(200) not null,

user nvarchar(100) not null,

lastmodified datetime not null,

comment nvarchar(300) null,

content nvarchar(max) not null,

description nvarchar(200) null

我可能會使內容表的pk成為pageid和revision提供的多列金鑰,並且revision是乙個標識型別。 您可以使用「修訂」列作為fk。 然後通過joining拉出合併記錄,如下所示:

select * from page

join pagecontent on currentrevision = revision and id = pageid

那裡可能有一些錯誤......這是我的頭腦。 不過,它應該讓你了解另一種模式。

mysql的審計日誌 MySQL審計日誌處理指令碼

1 mysql配置檔案 cat mysql.cfg 3306 ip x.user root pass xx port 3306 auditlog home mysql data mysql audit.json socket tmp mysql.sock 2 函式檔案,主要是日誌函式 mysql t...

mysql審計日誌檔案 MySQL審計日誌處理指令碼

1 mysql配置檔案 cat mysql.cfg 3306 ip x.user root pass xx port 3306 auditlog home mysql data mysql audit.json socket tmp mysql.sock 2 函式檔案,主要是日誌函式 mysql t...

日誌審計系統 事件日誌審計 syslog審計

日誌審計系統 事件日誌審計 syslog審計 任何it機構中的windows機器每天都會生成巨量日誌資料。這些日誌包含可幫助您的有用資訊 獲取位於各個windows事件日誌嚴重性級別的所有網路活動的概述。識別網路異常和潛在的安全漏洞。識別多次登入失敗 嘗試訪問未經授權的站點或檔案等等事件。跟蹤任何事...