part1:
誰幹的?
做dba的經常會遇到,一些表被誤操作了,被truncate、被delete、甚至被drop。引起這方面的原因大多數都是因為人為+許可權問題導致的。一些公共賬戶,例如ceshi賬戶,所有的人都可以進行操作,由這些公共賬戶引起的誤操作,你在辦公室大喊:誰把我的表刪了?8成不會有人回應你。
審計日誌功能,該技術主要在mariadb10.0/10.1和percona 5.6版本裡實現。該功能在mysql5.6/5.7企業版裡也支援。本文主要介紹和演示mariadb10.1中如何開啟審計日誌,幫你揪出內個幹壞事兒的小子~
part2:構建環境
本文中,我們採用的mariadb版本為10.1.16,當然用其他版本的mariadb亦可,如何安裝mariadb資料庫環境本文不做贅述,如果需要的可移步:
下面介紹在mariadb10.1.16中,安裝審計audit plugin外掛程式的方法
在mariadb資料庫中執行如下命令:
nstall plugin server_audit soname 'server_audit.so';
具體**如下圖所示。
warning:警告
這裡值得注意的是,server_audit.so名字不是隨意取的,因為它會讀/usr/local/mariadb/lib/plugin目錄下的檔案,如果說將其給明為mariadb-audit.so,就會丟擲如下錯誤,因為plugin目錄下沒有該檔案。
引數解釋
server_audit_events='connect,query,table'表示惠濟路鏈結進來的ip、使用者名稱和表的dml/ddl/dcl操作。
server_audit_logging=on 表示開啟審計日誌服務。
server_audit_excl_users=helei 表示只記錄helei使用者的所有操作。
server_audit_file_rotate_size=1g 表示超過定義的1gb,日誌會自動輪訓。
server_audit_file_path=server_audit.log 表示審計日誌的路徑。
更多相關引數可以利用show variables like 'server_audit%';來檢視,如下圖所示。
開啟相關引數
server_audit_events、server_audit_logging等引數均為全域性動態引數,可以直接在資料庫更改,命令如下:
檢查效果
在開啟相關引數後,無需重啟資料庫,可直接看到相關的操作已經被記錄到server_audit.log ,如下圖所示。
——總結
——
自從有了審計功能,媽媽再也不用擔心我找不到「壞人」啦。由於筆者的水平有限,編寫時間也很倉促,文中難免會出現一些錯誤或者不準確的地方,不妥之處懇請讀者批評指正。
mariadb 審計外掛程式
1.在my.ini中新增配置 plugin load add server audit server audit force plus permanent 是否記錄日誌 on off server audit logging on server audit events connect,query ...
日誌審計系統 事件日誌審計 syslog審計
日誌審計系統 事件日誌審計 syslog審計 任何it機構中的windows機器每天都會生成巨量日誌資料。這些日誌包含可幫助您的有用資訊 獲取位於各個windows事件日誌嚴重性級別的所有網路活動的概述。識別網路異常和潛在的安全漏洞。識別多次登入失敗 嘗試訪問未經授權的站點或檔案等等事件。跟蹤任何事...
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...