前言:
眼前我们对“mysql数据库审计功能怎么开”大约比较重视,各位老铁们都想要剖析一些“mysql数据库审计功能怎么开”的相关文章。那么小编同时在网络上汇集了一些有关“mysql数据库审计功能怎么开””的相关文章,希望同学们能喜欢,姐妹们一起来学习一下吧!一、背景介绍
Sql审计就是对需要在数据库执行的ddl、dml、select语句进行检查,避免sql在执行时出现问题。通过sql审核可以减少在正式执行时出现问题,也可以规避sql执行时的风险
Sql问题包括:
语法错误:sql语法结构不正确,标点符号不正确等
语义错误:sql中的库名、表名、字段名等不正确
规则错误:不符合sql规范,没有指定主键、字段类型不正确等
人工审核:
1、DBA与开发人员,循环交互。DBA发现问题sql返给开发修改,开发修改后, DBA进行二次检查,循环审核,直到sql没有问题
2、审核时间长,效率低。项目上线会有大量的sql进行审核,人工审核时间较长。
3、主观性:不同DBA对sql规范的理解不同,会存在宽松不均的问题
4、执行前需要检查数据库环境及sql影响范围,备份然后执行,过程冗长
5、执行后检查
二、功能与版本
基于人工审核的成本较高并且不可控性因素较多,自动审核工具应运而生。
Yearning是集审核、执行、回滚于一体的一个自动化运维系统。
版本:
1、yearning v1.4.7及以下版本:
基于inception,需要自行配置安装inception,现inception已整合进arkcontrol数据库云管平台
2、yearning -go 2.0.0及以上版本:
提供二进制安装,不依赖于任何第三方sql审核工具作为审核引擎,内部已自己实现审核\回滚相关逻辑
三、安装
版本:yearning v2.15
版本介绍:
1、mysql版本必须是5.7及以上版本,自行安装mysql及创建yearning数据库,字符集 为:utf-8/utf8mb4
2、仅要求存放yearning数据库的mysql版本为5.7及以上,其他数据库不做要求
3、yearning日志仅输出error级别,没有日志即可认为无运行错误
4、推荐使用chrome浏览器最新版本
下载地址:github.com/cookieY/Yearning/releases
官方文档:guide.yearning.io/install.html
安装步骤:
1、下载: (如果不能下载,请在github前加 https://)
git clone github.com/cookieY/Yearning.git
2、解压:
# unzip Yearning-2.1.5.linux-amd64.zip
# mv Yearning-go/ /usr/local/
3、创建yearning的数据库
> create database Yearning;
4、修改Yearning配置文件
[root@hadoop03 Yearning-go]# cat conf.toml
[Mysql]
Db = "Yearning"
Host = "127.0.0.1"
Port = "3306"
Password = "123"
User = "root"
[General] #数据库加解密key,只可更改一次
SecretKey = "dbcjqheupqjsuwsm"
5、初始化Yearning,初始化会生成用户名、密码,打印到屏幕
# ./Yearning -m
6、配置环境变量、设置后台启动脚本、设置开机自启
# cat start_Yearning.sh
nohup Yearning -s -b "192.168.100.222" -p "8000" >>/usr/local/Yearning-go/yearning.log 2>&1 &
7、启动Yearning
# bash start_Yearning.sh
四、使用
1、添加用户及赋权
密码最少6字符
角色:分管理员/执行者/使用人
先划分角色,使管理类权限不会出现在使用者细粒度权限划分中
管理员:是sql的审核者和执行者
查看db1106_user权限:新用户不具备任何权限的。任何操作都必须在赋予对应的权限之后才能执行
用户权限的赋予有两种方式:
1、管理员在"用户权限"页面,自行添加
2、使用者在:“首页个人信息栏”---“查看权限按钮”---“申请权限”,进行申请,该权限申请将会以工单的形式发送给超级管理员进行审批
使用db1106_user用户登录:申请权限
管理员查看工单:
2、添加数据源:用户可访问的数据源,在用户权限页添加,
注:数据源的最细粒度为实例级别,不能将单个库的权限赋给使用者
3、sql查询
用户通过如下页面进行sql查询,点击提交,选中要查询的数据源
管理员可以在如下界面,查看使用者sql查询的详细信息:
管理员终止使用者的sql查询:
sql查询的限制及设置:
通过进阶设置,可以设置不让使用者看到的库,敏感字段,查询是否需要审核,是否同意导出查询数据,sql查询时限等
设置sql查询限制后,再进行sql查询:需要管理员审核
4、提交ddl工单
5、审核:
审核规则:Pt-OSC设置 即 pt-online-schema-change
Sql语句:
Select:
select * from t4 where inserttime >=current_date();
Dml:
update t4 set c1='lll' where id=3;
Ddl:
alter table t4 add c2 varchar(10) ;
CREATE TABLE `t4` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`c1` varchar(10) DEFAULT NULL,
`inserttime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
标签: #mysql数据库审计功能怎么开