博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MariaDB日志审计 帮你揪出内个干坏事儿的小子
阅读量:5843 次
发布时间:2019-06-18

本文共 1357 字,大约阅读时间需要 4 分钟。

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目录下没有该文件。

Part2:参数解释

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%';来查看,如下图所示。

Part3:开启相关参数

server_audit_events、server_audit_logging等参数均为全局动态参数,可以直接在数据库更改,命令如下:

set global server_audit_events='CONNECT,QUERY,TABLE';

set global server_audit_logging=ON;

Part4:检查效果

在开启相关参数后,无需重启数据库,可直接看到相关的操作已经被记录到server_audit.log ,如下图所示。

——总结——

自从有了审计功能,妈妈再也不用担心我找不到“坏人”啦。由于笔者的水平有限,编写时间也很仓促,文中难免会出现一些错误或者不准确的地方,不妥之处恳请读者批评指正。

 本文转自 dbapower 51CTO博客,原文链接:http://blog.51cto.com/suifu/1857594,如需转载请自行联系原作者

你可能感兴趣的文章
首份《敏捷回顾年度报告》发布
查看>>
Slack桌面3.0迁移到BrowserView
查看>>
openresty 前端开发入门二
查看>>
用户超5亿,三年投10亿,开发者如何抢滩支付宝小程序蓝海?
查看>>
Uber:大规模系统下如何构建可伸缩的告警生态系统\n
查看>>
Node和JS基金会宣布合并为 OpenJS 基金会
查看>>
我们常常意识不到问题的存在,直到有人解决了这些问题
查看>>
Oracle 裁员史:技术人死于重组,卒于云计算
查看>>
开发速度快10倍!Airbnb用GraphQL+Apollo做到了
查看>>
都去炒AI和大数据了,落地的事儿谁来做?
查看>>
Angular2管理外部类型定义和处理“Duplicate identifier” TypeScript错误
查看>>
python学习笔记-调用函数
查看>>
Laravel Pipeline 组件的实现
查看>>
快速入门react-native
查看>>
Java线程的状态及切换
查看>>
用ES6编写AngularJS程序是怎样一种体验
查看>>
如何使用 Xcode Targets 管理开发和生产版本?
查看>>
[译] nginx是如何处理Request的
查看>>
iOS 本地化进阶教程
查看>>
用gradle自动配置百度地图Key
查看>>