Amazon Best VPN GoSearch

OnWorks 网站图标

mysqlauditgrep - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 mysqlauditgrep

这是 mysqlauditgrep 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


mysqlauditgrep - 搜索审计日志

概要


mysql审计grep [配置] ... 审计日志文件
mysql审计grep --file-stats[--格式=FORMAT] 审计日志文件
mysql审计grep --格式=FORMAT 审计日志文件
mysql审计grep [--用户=USERS] [--开始日期=开始日期] [--结束日期=结束日期]
[--模式=模式[--正则表达式]] [--查询类型=查询类型] [--事件类型=事件类型]
[--状态=状态] [--格式=FORMAT] 审计日志文件

商品描述


此实用程序允许您搜索当前或存档的审核日志,从而允许您
根据定义的搜索标准显示审计日志文件中的数据。 它也是
允许您以不同格式输出结果,即 GRID(默认)、TAB、CSV、
VERTICAL 和 RAW(原始 XML 格式)。

此实用程序允许您按以下方式搜索和过滤返回的审计日志记录: 用户
(--用户)、日期和时间范围 (- 开始日期- 结束日期)、SQL查询类型
(--查询类型)、记录的事件和记录类型 (- 事件类型), 地位 (- 地位),
匹配模式(- 图案)。 可以组合和使用这些搜索选项中的任何一个
一起,由所有传入的选项产生的检索记录为真。

- - 图案 支持两种类型的模式匹配:标准 SQL,与 SQL 一起使用
运算符(SQL 模式)和标准 REGEXP (POSIX 正则表达式模式)。

此实用程序始终需要传入审核日志文件,因此 审计日志文件
参数作为审计日志文件的完整路径和文件名进行搜索。 如果不
指定,将打印有关此要求的通知。 而如果 - 格式 is
不带搜索参数传入,则显示审计日志的所有记录
以指定的格式。

- --文件统计 选项不被视为搜索条件,用于显示
指定审计日志的文件统计信息。 其他搜索选项将被忽略
--文件统计 选项被使用,除了 - 格式 选项将继续格式化
结果相应。

要指定生成结果的格式,请将以下值之一与
- 格式 选项​​:

1. 电网 (默认)

以网格或表格格式显示输出,如 MySQL的 监控。

2. CSV

以逗号分隔值格式显示输出。

3. 立式

以单列格式显示输出,就像 \G 命令的那样 MySQL的
监控。

4. 未处理

以审计日志记录的原始原始格式显示输出结果,即
用 XML 编写。
标准 SQL 模式匹配

SQL 标准定义的简单模式使用户能够使用两个字符
特殊含义:“%”(百分比)匹配零个或多个字符,“_”(下划线)
正好匹配一个任意字符。 在标准 SQL 中,使用这些类型的模式
使用 LIKE 比较运算符,默认情况下它们不区分大小写。 这个实用程序
假设它们不区分大小写。

例如:

· “审计%”

匹配任何以“audit”开头的字符串。

· “%日志%”

匹配包含单词“log”的任何字符串。

· "%_"

匹配由一个或多个字符组成的任何字符串。

有关标准 SQL 模式匹配语法的文档,请参阅 模式 匹配[1]。
REGEXP 模式匹配 (POSIX)

标准版 REGEXP 模式比 SQL 中定义的简单模式更强大
标准。 正则表达式是由指定的普通字符和特殊字符组成的字符串
匹配其他字符串。 与 SQL 模式不同, REGEXP 模式区分大小写。 这 REGEXP
语法定义了以下具有特殊含义的字符:

· .

匹配任何字符。

· ^

匹配字符串的开头。

· $

匹配字符串的结尾。

· \

匹配前面正则表达式的零次或多次重复。

· +

匹配前面正则表达式的一个或多个重复项。

· ?

匹配前一个正则表达式的零次或一次重复。

· |

匹配 | 左边或右边的正则表达式。

· []

表示要匹配的一组字符。 请注意,特殊字符会丢失
集合内的特殊含义。 特别是,如果 ^ 获得不同的含义
集合的第一个字符,匹配互补集合(即所有的
不在集合中的字符将被匹配)。

· {米}

匹配 m 前面正则表达式的重复。

· {m,n}

匹配来自 mn 前面正则表达式的重复。

· ()

定义一个匹配组,并匹配括号内的正则表达式。

例如:

· “一种\*”

匹配零个或多个 a 的序列。

· “一个+”

匹配一个或多个 a 的序列。

· “一种?”

匹配零或一个 a。

· "ab|cd"

匹配 ab 或 cd。

· “[轴]”

匹配 a、x 或 y。

· “[af]”

匹配 a 到 f 范围内的任何字符(即 a、b、c、d、e 或 f)。

· “[^axy]”

匹配任何字符 a、x 或 y。

· “一个{5}”

完全匹配 a 的五个副本。

· “一个{2,5}”

匹配 XNUMX 到 XNUMX 个 a 的副本。

· “(ABC)+”

匹配一次或多次重复的 abc。

这是可用于定义此类类型的正则表达式的简要概述
模式。 完整的语法在 Python “关于” 模块 文档[2],支持
定义更复杂的模式匹配表达式。
配置

mysql审计grep 接受以下命令行选项:

· --end-date=

在指定的日期/时间范围内检索日志条目的结束日期/时间。 如果不
指定或值为 0,将显示日志末尾的所有条目。 公认
格式:“yyyy-mm-ddThh:mm:ss”或“yyyy-mm-dd”。

· --event-type=

以逗号分隔的事件类型列表,用于在与
指定类型。 支持的值有:Audit、Binlog Dump、Change user、Close stmt、
连接、连接、创建数据库、守护进程、调试、延迟插入、删除数据库、执行、
获取、字段列表、初始化数据库、杀死、长数据、NoAudit、Ping、准备、进程列表、
查询、退出、刷新、注册从设备、重置 stmt、设置选项、关机、睡眠、
统计、表转储、时间。

· --文件统计

显示审计日志文件统计信息。

· --format=格式,-f 格式

输出格式以显示结果数据。 支持的格式值:GRID(默认)、
TAB、CSV、垂直和 RAW。

· - 帮助

显示帮助消息并退出。

· --pattern= , -e

检索具有至少一个属性值匹配的所有条目的搜索模式
指定的模式。 默认情况下,标准 SQL 模式用于匹配。 如果
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 --正则表达式 选项被设置,然后 REGEXP 必须为匹配指定模式。

· --query-type=

要搜索和匹配的 SQL 语句/命令的逗号分隔列表。 支持的
值:CREATE、ALTER、DROP、TRUNCATE、RENAME、GRANT、REVOKE、SELECT、INSERT、UPDATE、
删除、提交、显示、设置、调用、准备、执行、解除分配。

· --regexp, --basic-regexp, -G

表示将使用正则表达式执行模式匹配 REGEXP
(来自 Python re 模块)。 默认情况下,简单的标准 SQL 模式是
用于匹配。 这会影响由 - 图案 选项是
解释。

· --开始日期=

开始日期/时间以从指定的日期/时间范围检索日志条目。 如果不
指定或值为 0,则显示日志开头的所有条目。
接受的格式:yyyy-mm-ddThh:mm:ss 或 yyyy-mm-dd。

· --状态=

以逗号分隔的状态值或间隔列表,用于搜索所有审计日志记录
具有匹配的状态。 状态值是非负整数(对应于
MySQL 错误代码)。 状态区间是关闭的(即,包括两个端点)和
简单地使用其端点之间的破折号来定义。 例如:
1051,1068-1075,1109,1146。

--status 选项从 MySQL Utilities 1.2.4 / 1.3.3 开始可用。

· --users= , -u

逗号分隔的用户名列表,用于搜索其关联的日志条目。 为了
例如:“丹、乔恩、约翰、保罗、菲利普、斯蒂芬”。

· --详细,-v

指定要显示的信息量。 多次使用此选项以增加
信息量。 例如, -v = 冗长, -vv = 更详细, -vvv =
调试。

· - 版本

显示版本信息并退出。
附注

该实用程序从 μ 1.2.0 开始可用。

此实用程序只能应用于具有 审计 日志 插入 启用[3]。 而
审计日志插件从 MySQL 服务器版本 5.5.28 和 5.6.10 开始可用。

此实用程序需要使用 Python 2.6 或更高版本,但不支持 Python
3.

单引号或双引号字符(分别为 ' or ") 可用于选项值周围。
事实上,正确设置一些选项值需要引号,例如带有
空白。 例如,指定事件类型 创建 DBDrop DB 等加工。为
- 事件类型 选项,必须使用以下语法: --event-type='创建 DB,下降 D B'
or --event-type="创建 DB,下降 D B”.
示例

要显示审计日志文件统计信息并以 CSV 格式输出结果,请运行
以下命令:

shell> mysqlauditgrep --file-stats --format=CSV /SERVER/data/audit.log
#
# 审计日志文件统计:
#
文件、大小、创建时间、上次修改时间
audit.log,9101,27 年 13 月 33 日星期四 11:2012:11,17 年 40 月 35 日星期四 2012:XNUMX:XNUMX
#
# 审计日志启动条目:
#
SERVER_ID、STARTUP_OPTIONS、名称、时间戳、MYSQL_VERSION、OS_VERSION、版本
1,/SERVER/sql/mysqld --defaults-file=/SERVER/my.cnf,Audit,2012-09-27T13:33:11,5.5.29-log,x86_64-Linux,1

要显示特定用户的审计日志条目,请使用以下命令:

shell> mysqlauditgrep --users=tester1,tester2 /SERVER/data/audit.log

要显示审计日志文件统计信息,请运行以下命令:

shell> mysqlauditgrep --users=tester1,tester2 /SERVER/data/audit.log
+---------+------------+----------+-------------- -------+----------------+------------+------------+- -----------+------------+------------------------ ---------+
| 状态 | SERVER_ID | 姓名 | 时间戳 | CONNECTION_ID | 主机 | 用户 | PRIV_USER | 知识产权 | SQLTEXT |
+---------+------------+----------+-------------- -------+----------------+------------+------------+- -----------+------------+------------------------ ---------+
| 0 | 1 | 连接 | 2012-09-28T11:26:50 | 9 | 本地主机 | 根| 测试员1 | 127.0.0.1 | 无 |
| 0 | 1 | 查询 | 2012-09-28T11:26:50 | 9 | 无 | 根| 测试员1 | 无 | SET @@session.autocommit = OFF |
| 0 | 1 | 平| 2012-09-28T11:26:50 | 9 | 无 | 根| 测试员1 | 无 | 无 |
| 0 | 1 | 查询 | 2012-09-28T11:26:50 | 9 | 无 | 根| 测试员1 | 无 | 显示变量如'READ_ONLY' |
| 0 | 1 | 查询 | 2012-09-28T11:26:50 | 9 | 无 | 根| 测试员1 | 无 | 提交 |
| 0 | 1 | 平| 2012-09-28T11:26:50 | 9 | 无 | 根| 测试员1 | 无 | 无 |
| 0 | 1 | 查询 | 2012-09-28T11:26:50 | 9 | 无 | 根| 测试员1 | 无 | 提交 |
| 0 | 1 | 退出 | 2012-09-28T11:26:50 | 9 | 无 | 根| 测试员1 | 无 | 无 |
| 0 | 1 | 连接 | 2012-10-10T15:55:55 | 11 | 本地主机 | 测试员2 | 根| 127.0.0.1 | 无 |
| 0 | 1 | 查询 | 2012-10-10T15:55:55 | 11 | 无 | 测试员2 | 根| 无 | 选择@@version_comment 限制 1 |
| 0 | 1 | 查询 | 2012-10-10T15:56:10 | 11 | 无 | 测试员2 | 根| 无 | 显示数据库 |
| 第1046话1 | 查询 | 2012-10-10T15:57:26 | 11 | 无 | 测试员2 | 根| 无 | 显示表测试|
| 第1046话1 | 查询 | 2012-10-10T15:57:36 | 11 | 无 | 测试员2 | 根| 无 | 显示表测试|
| 0 | 1 | 查询 | 2012-10-10T15:57:51 | 11 | 无 | 测试员2 | 根| 无 | 在测试中显示表 |
| 0 | 1 | 退出 | 2012-10-10T15:57:59 | 11 | 无 | 测试员2 | 根| 无 | 无 |
| 0 | 1 | 连接 | 2012-10-10T17:35:42 | 12 | 本地主机 | 测试员2 | 根| 127.0.0.1 | 无 |
| 0 | 1 | 查询 | 2012-10-10T17:35:42 | 12 | 无 | 测试员2 | 根| 无 | 选择@@version_comment 限制 1 |
| 0 | 1 | 退出 | 2012-10-10T17:47:22 | 12 | 无 | 测试员2 | 根| 无 | 无 |
+---------+------------+----------+-------------- -------+----------------+------------+------------+- -----------+------------+------------------------ ---------+

要显示特定日期/时间范围的审核日志条目,请使用以下命令
命令:

shell> mysqlauditgrep --start-date=2012-09-27T13:33:47 --end-date=2012-09-28 /SERVER/data/audit.log
+---------+----------------------+--------+------- ---------+---------------------------------------- -------------------------------------+
| 状态 | 时间戳 | 姓名 | CONNECTION_ID | SQLTEXT |
+---------+----------------------+--------+------- ---------+---------------------------------------- -------------------------------------+
| 0 | 2012-09-27T13:33:47 | 平| 7 | 无 |
| 0 | 2012-09-27T13:33:47 | 查询 | 7 | SELECT * FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'audit%' |
| 0 | 2012-09-27T13:33:47 | 查询 | 7 | 提交 |
| 0 | 2012-09-27T13:34:48 | 退出 | 7 | 无 |
| 0 | 2012-09-27T13:34:48 | 退出 | 8 | 无 |
+---------+----------------------+--------+------- ---------+---------------------------------------- -------------------------------------+

显示与特定 SQL 匹配的审计日志条目 模式,使用以下
命令:

shell> mysqlauditgrep --pattern="% = ___"; /SERVER/data/audit.log
+---------+----------------------+--------+------- --------------------------+----------------+
| 状态 | 时间戳 | 姓名 | SQLTEXT | CONNECTION_ID |
+---------+----------------------+--------+------- --------------------------+----------------+
| 0 | 2012-09-27T13:33:39 | 查询 | SET @@session.autocommit = OFF | 7 |
| 0 | 2012-09-27T13:33:39 | 查询 | SET @@session.autocommit = OFF | 8 |
| 0 | 2012-09-28T11:26:50 | 查询 | SET @@session.autocommit = OFF | 9 |
| 0 | 2012-09-28T11:26:50 | 查询 | SET @@session.autocommit = OFF | 10 |
+---------+----------------------+--------+------- --------------------------+----------------+

显示匹配特定的审计日志条目 REGEXP 模式,使用以下
命令:

shell> mysqlauditgrep --pattern=".* = ..." --regexp /SERVER/data/audit.log
+---------+----------------------+--------+------- --------------------------+----------------+
| 状态 | 时间戳 | 姓名 | SQLTEXT | CONNECTION_ID |
+---------+----------------------+--------+------- --------------------------+----------------+
| 0 | 2012-09-27T13:33:39 | 查询 | SET @@session.autocommit = OFF | 7 |
| 0 | 2012-09-27T13:33:39 | 查询 | SET @@session.autocommit = OFF | 8 |
| 0 | 2012-09-28T11:26:50 | 查询 | SET @@session.autocommit = OFF | 9 |
| 0 | 2012-09-28T11:26:50 | 查询 | SET @@session.autocommit = OFF | 10 |
+---------+----------------------+--------+------- --------------------------+----------------+

要显示特定查询类型的审计日志条目,请使用以下命令:

shell> mysqlauditgrep --query-type=show,SET /SERVER/data/audit.log
+---------+----------------------+--------+------- ------------------------------------------+------- ---------+
| 状态 | 时间戳 | 姓名 | SQLTEXT | CONNECTION_ID |
+---------+----------------------+--------+------- ------------------------------------------+------- ---------+
| 0 | 2012-09-27T13:33:39 | 查询 | SET NAMES 'latin1' COLLATE 'latin1_swedish_ci' | 7 |
| 0 | 2012-09-27T13:33:39 | 查询 | SET @@session.autocommit = OFF | 7 |
| 0 | 2012-09-27T13:33:39 | 查询 | 显示变量如'READ_ONLY' | 7 |
| 0 | 2012-09-27T13:33:39 | 查询 | 显示变量如'datadir' | 7 |
| 0 | 2012-09-27T13:33:39 | 查询 | 显示变量如 'basedir' | 7 |
| 0 | 2012-09-27T13:33:39 | 查询 | SET NAMES 'latin1' COLLATE 'latin1_swedish_ci' | 8 |
| 0 | 2012-09-27T13:33:39 | 查询 | SET @@session.autocommit = OFF | 8 |
| 0 | 2012-09-27T13:33:39 | 查询 | 显示变量如'READ_ONLY' | 8 |
| 0 | 2012-09-27T13:33:39 | 查询 | 显示变量如 'basedir' | 8 |
| 0 | 2012-09-28T11:26:50 | 查询 | SET NAMES 'latin1' COLLATE 'latin1_swedish_ci' | 9 |
| 0 | 2012-09-28T11:26:50 | 查询 | SET @@session.autocommit = OFF | 9 |
| 0 | 2012-09-28T11:26:50 | 查询 | 显示变量如'READ_ONLY' | 9 |
| 0 | 2012-09-28T11:26:50 | 查询 | SET NAMES 'latin1' COLLATE 'latin1_swedish_ci' | 10 |
| 0 | 2012-09-28T11:26:50 | 查询 | SET @@session.autocommit = OFF | 10 |
| 0 | 2012-09-28T11:26:50 | 查询 | 显示变量如'READ_ONLY' | 10 |
| 0 | 2012-09-28T11:26:50 | 查询 | 设置@@GLOBAL.audit_log_flush = ON | 10 |
| 0 | 2012-09-28T11:26:50 | 查询 | 显示变量如 'audit_log_policy' | 10 |
| 0 | 2012-09-28T11:26:50 | 查询 | 显示变量如 'audit_log_rotate_on_size' | 10 |
| 0 | 2012-10-10T15:56:10 | 查询 | 显示数据库 | 11 |
| 第1046话2012-10-10T15:57:26 | 查询 | 显示表测试| 11 |
| 第1046话2012-10-10T15:57:36 | 查询 | 显示表测试| 11 |
| 0 | 2012-10-10T15:57:51 | 查询 | 在测试中显示表 | 11 |
+---------+----------------------+--------+------- ------------------------------------------+------- ---------+

要显示特定事件类型的审计日志条目,请使用以下命令:

shell> mysqlauditgrep --event-type="Ping,Connect" /SERVER/data/audit.log
+---------+----------+--------------+----- -----------+------------+---------+------------+-- ----------+
| 状态 | 姓名 | 时间戳 | CONNECTION_ID | 主机 | 用户 | PRIV_USER | 知识产权 |
+---------+----------+--------------+----- -----------+------------+---------+------------+-- ----------+
| 0 | 连接 | 2012-09-27T13:33:39 | 7 | 本地主机 | 根| 根| 127.0.0.1 |
| 0 | 平| 2012-09-27T13:33:39 | 7 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-27T13:33:39 | 7 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-27T13:33:39 | 7 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-27T13:33:39 | 7 | 无 | 无 | 无 | 无 |
| 0 | 连接 | 2012-09-27T13:33:39 | 8 | 本地主机 | 根| 根| 127.0.0.1 |
| 0 | 平| 2012-09-27T13:33:39 | 8 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-27T13:33:39 | 8 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-27T13:33:47 | 7 | 无 | 无 | 无 | 无 |
| 0 | 连接 | 2012-09-28T11:26:50 | 9 | 本地主机 | 根| 测试员| 127.0.0.1 |
| 0 | 平| 2012-09-28T11:26:50 | 9 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-28T11:26:50 | 9 | 无 | 无 | 无 | 无 |
| 0 | 连接 | 2012-09-28T11:26:50 | 10 | 本地主机 | 根| 根| 127.0.0.1 |
| 0 | 平| 2012-09-28T11:26:50 | 10 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-28T11:26:50 | 10 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-28T11:26:50 | 10 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-28T11:26:50 | 10 | 无 | 无 | 无 | 无 |
| 0 | 平| 2012-09-28T11:26:50 | 10 | 无 | 无 | 无 | 无 |
| 0 | 连接 | 2012-10-10T15:55:55 | 11 | 本地主机 | 测试员| 根| 127.0.0.1 |
| 0 | 连接 | 2012-10-10T17:35:42 | 12 | 本地主机 | 测试员| 根| 127.0.0.1 |
+---------+----------+--------------+----- -----------+------------+---------+------------+-- ----------+

要显示具有特定状态的审计日志条目,请使用以下命令:

shell> mysqlauditgrep --status=1100-1199,1046 /SERVER/data/audit.log
+---------+----------------------+--------+------- -------------------------------------------------- ------------+----------------+
| 状态 | 时间戳 | 姓名 | SQLTEXT | CONNECTION_ID |
+---------+----------------------+--------+------- -------------------------------------------------- ------------+----------------+
| 第1046话2012-10-10T15:57:26 | 查询 | 显示表测试| 11 |
| 第1046话2012-10-10T15:57:36 | 查询 | 显示表测试| 11 |
| 第1146章2012-10-10T17:44:55 | 查询 | 从 teste.employees 中选择 *,其中工资 > 500 且工资 < 1000 | 12 |
| 第1046话2012-10-10T17:47:17 | 查询 | select * from test_encoding where value = '<>"&' | 12 |
+---------+----------------------+--------+------- -------------------------------------------------- ------------+----------------+

注意:您可以查看所有成功的命令 --状态=0 和所有不成功的
--状态=1-9999.

要显示匹配多个搜索条件的审核日志条目,请使用以下命令
命令:

shell> mysqlauditgrep --users=root --start-date=0 --end-date=2012-10-10 --event-type=Query \
--query-type=SET --status=0 --pattern="%audit_log%" /SERVER/data/audit.log
+---------+------------+--------+--------- -----+----------------+-------+------------+------ ------------------------------+
| 状态 | SERVER_ID | 姓名 | 时间戳 | CONNECTION_ID | 用户 | PRIV_USER | SQLTEXT |
+---------+------------+--------+--------- -----+----------------+-------+------------+------ ------------------------------+
| 0 | 1 | 查询 | 2012-09-28T11:26:50 | 10 | 根| 根| 设置@@GLOBAL.audit_log_flush = ON |
+---------+------------+--------+--------- -----+----------------+-------+------------+------ ------------------------------+

版权


附注


1. 模式匹配
http://dev.mysql.com/doc/refman/5.6/en/pattern-matching.html

2. Python“re”模块文档
http://docs.python.org/2/library/re.html

3.审计日志插件启用
http://dev.mysql.com/doc/refman/5.6/en/audit-log-plugin-installation.html

使用 onworks.net 服务在线使用 mysqlauditgrep


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。