MySQL AUDIT Plugin是一个 MySQL安全审计插件,由McAfee提供,设计强调安全性和审计能力。该插件可用作独立审计解决方案,或配置为数据传送给外部监测工具。支持版本为MySQL (5.1, 5.5, 5.6, 5.7),MariaDB (5.5, 10.0, 10.1) ,Platform (32 or 64 bit)。从Mariadb 10.0版本开始audit插件直接内嵌了,名称为server_audit.so,可以直接加载使用。
二进制文件地址:https://bintray.com/mcafee/mysql-audit-plugin/release
macfee的mysql audit插件虽然日志信息比较大,对性能影响大,但是如果想要开启审计,请斟酌。
二、安装使用MySQL AUDIT
# unzip audit-plugin-mysql-5.6-1.1.5-774-linux-x86_64.zip
MySQL的插件目录为:
mysql>show global variables like 'plugin_dir'
+---------------+------------------------+
| Variable_name | Value |
+---------------+------------------------+
| plugin_dir | /app/mysql/lib/plugin/ |
+---------------+------------------------+
1 row in set (0.00 sec)
复制库文件到MySQL库目录下
# cp audit-plugin-mysql-5.6-1.1.2-694/lib/libaudit_plugin.so /app/mysql/lib/plugin/
# chmod a+x /app/mysql/lib/plugin/libaudit_plugin.so
加载Audit插件
mysql>INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so'
查看版本
mysql>show global status like '%audit%'
+------------------------+-----------+
| Variable_name | Value |
+------------------------+-----------+
| Audit_protocol_version | 1.0 |
| Audit_version | 1.1.2-694 |
+------------------------+-----------+
2 rows in set (0.00 sec)
开启Audit功能
mysql>SET GLOBAL audit_json_file=ON
Query OK, 0 rows affected (0.00 sec)
执行任何语句(默认会记录任何语句),然后去mysql数据目录查看mysql-audit.json文件(默认为该文件)。
当然,我们还可以通过命令查看audit相关的命令。
mysql>SHOW GLOBAL VARIABLES LIKE '%audit%'
其中我们需要关注的参数有:
1、audit_json_file
是否开启audit功能。
2、audit_json_log_file
记录文件的路径和名称信息。
3、audit_record_cmds
audit记录的命令,默认为记录所有命令。可以设置为任意dml、dcl、ddl的组合。如:audit_record_cmds=select,insert,delete,update。还可以在线设置set global audit_record_cmds=NULL。(表示记录所有命令)
4、 audit_record_objs
audit记录 *** 作的对象,默认为记录所有对象,可以用SET GLOBAL audit_record_objs=NULL设置为默认。也可以指定为下面的格式:audit_record_objs=,test.*,mysql.*,information_schema.*。
5、audit_whitelist_users
用户白名单。
三、查看审计数据
插入一些数据,查看一下mysql-audit.json文件信息(json格式),如下:
$ cat /app/mysql/data/mysql-audit.json
{"msg-type":"activity","date":"1517989674556","thread-id":"3","query-id":"39","user":"root","priv_user":"root","ip":"","host":"localhost","connect_attrs":{"_os":"Linux","_client_name":"libmysql","_pid":"1331209","_client_version":"5.6.27","_platform":"x86_64","program_name":"mysql"},"pid":"3472328296227680304","os_user":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","appname":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","rows":"10","cmd":"select","objects":[{"db":"sbtest","name":"sbtest1","obj_type":"TABLE"}],"query":"select * from sbtest1 limit 10"}
审计记录文件一般存放在mysql的数据目录下。
mysql服务器自身没有提供审计功能,但是我们可以使用init-connect+binlog的方法进行mysql的 *** 作审计。由于mysqlbinlog记录了所有对数据库长生实际修改的sql语句,及其执行时间,和connection_id但是却没有记录connection_id对应的详细用户信息。在后期审计进行行为追踪时,根据binlog记录的行为及对应的connection-id结合之前连接日志记录进行分析,得出最后的结论。1.设置init-connect1.1创建用于存放连接日志的数据库和表createdatabaseaccesslogCREATETABLEaccesslog.accesslog(`id`int(11)primarykeyauto_increment,`time`timestamp,`localname`varchar(30),`matchname`varchar(30))1.2创建用户权限可用现成的root用户用于信息的读取grantselectonaccesslog.*toroot如果存在具有to*.*权限的用户需要进行限制。这里还需要注意用户必须对accesslog表具有insert权限grantselectonaccesslog.*touser@’%’1.3设置init-connect在[mysqld]下添加以下设置:init-connect=’insertintoaccesslog.accesslog(id,time,localname,matchname)values(connection_id(),now(),user(),current_user())’------注意user()和current_user()的区别log-bin=xxx这里必须开启binlog1.4重启数据库生效shell>/etc/init.d/mysqlrestart2.记录追踪2.1thread_id确认可以用以下语句定位语句执行人Tencent:~#mysqlbinlog--start-datetime='2011-01-2616:00:00'--stop-datetime='2011-01-2617:00:00'/var/lib/mysql/mysql-bin.000010|grep-B5'wsj'COMMIT/*!*/#at767#11012616:16:43serverid1end_log_pos872Querythread_id=19exec_time=0error_code=0usetest/*!*/SETTIMESTAMP=1296029803/*!*/createtablewsj(idintunsignednotnull)--BEGIN/*!*/#at940#11012616:16:57serverid1end_log_pos1033Querythread_id=19exec_time=0error_code=0SETTIMESTAMP=1296029817/*!*/insertintowsj(id)values(1)--BEGIN/*!*/#at1128#11012616:16:58serverid1end_log_pos1221Querythread_id=19exec_time=0error_code=0SETTIMESTAMP=1296029818/*!*/insertintowsj(id)values(2)2.2用户确认thread_id确认以后,找到元凶就只是一条sql语句的问题了。mysql>select*fromaccesslogwhereid=19+----+---------------------+---------------------+-----------+|id|time|localname|matchname|+----+---------------------+---------------------+-----------+|19|2011-01-2616:15:54|test@10.163.164.216|test@%|+----+---------------------+---------------------+-----------+1rowinset(0.00sec)oracle 审计功能怎么配置审计是对选定的使用者动作的监控和记录,通常用于:
u 审查可疑的活动。例如:资料被非授权使用者所删除,此时安全管理员可决定对该 资料库的所有连线进行审计,以及对资料库的所有表的成功地或不成功地删除进行审计。
u 监视和收集关于指定资料库活动的资料。例如:DBA可收集哪些被修改、执行了多少次逻辑的I/O等统计资料。
ORACLE支援三种审计型别:
u 语句审计,对某种型别的SQL语句审计,不指定结构或物件。
u 特权审计,对执行相应动作的系统特权的使用审计。
u 物件审计,对一特殊模式物件上的指定语句的审计。
ORACLE所允许的审计选择限于下列方面:
u 审计语句的成功执行、不成功执行,或者其两者。
u 对每一使用者会话审计语句执行一次或者对语句每次执行审计一次。
u 对全部使用者或指定使用者的活动的审计。
当资料库的审计是使能的,在语句执行阶段产生审计记录。审计记录包含有审计的 *** 作、使用者执行的 *** 作、 *** 作的日期和时间等资讯。审计记录可存在资料字典表(称为审计记录)或作业系统审计记录中。资料库审计记录是在SYS模式的AUD$表中。
设定ORACLE审计
下列步骤可以设定ORACLE的审计功能:
1. 修改引数档案(init.ora,如果使用伺服器引数档案使用alter system set = scope=spfile|both,详情参照1.1节中关于引数档案的介绍),设定 AUDIT_TRAIL引数,并且重启资料库。AUDIT_TRAIL的取值如下:
l DB/TRUE:启动审计功能,并且把审计结果存放在资料库的 SYS.AUD$ 表中
l OS:启动审计功能,并把审计结果存放在作业系统的审计资讯中
l DB_EXTENDED:具有DB/TRUE的功能,另外填写AUD$的SQLBIND和SQLTEXT栏位
l NONE/FALSE:关闭审计功能
2.如果设定 AUDIT_TRAIL = OS, 还需要修改引数AUDIT_FILE_DEST。
如果作业系统支援设定AUDIT_TRAIL=OS,档案会自动存放在AUDIT_FILE
_DEST所指定的目录下,并且档名包含程序的PID。
比如:
AUDIT_FILE_DEST = $ORACLE_HOME/rdbms/audit
$ ls -l $ORACLE_HOME/rdbms/audit
-rw-rw---- 1 ora92 dba 881 Mar 17 09:57 ora_13264.aud
$ ps -ef|grep 13264
ora92 13264 13235 0 09:56:43 ? 0:00 oracleV92 (DESCRIPTION=(LOCAL=Y)
SQL>select spid, program, username from v$process
SPID PROGRAM USERNAME
------ -------------------------------------------- -------------
...
13264 oracle@frhp11 (TNS V1-V3) ora92
注意:WINDOWS NT不使用AUDIT_FILE_DEST引数,如果使用OS设定,那么审计资讯会存放在WINDOWS NT的事件日志里。下面的章节会有专门的介绍。
3. 确认审计相关的表是否已经安装
SQLPLUS>connect / AS SYSDBA
SQLPLUS>select * from sys.aud$-- 没有记录返回
SQLPLUS>select * from dba_audit_trail-- 没有记录返回
如果做上述查询的时候发现表不存在,说明审计相关的表还没有安装,需要安装。
SQLPLUS>connect / as sysdba
SQLPLUS>@$ORACLE_HOME/rdbms/admin/cataudit.sql
审计表安装在SYSTEM表空间。所以要确保SYSTEM表空间又足够的空间存放审计资讯。
4. 关闭并重启资料库
5. 设定所需要的审计资讯
下面是一个例子
SQL>connect system/manager
SQL>grant audit system to scott
SQL>connect scott/tiger
SQL>audit session
停止审计:
SQL>noaudit session
设定审计的例项:对试图尝试口令的访问的审计
本节讨论的是一个审计的例项,用于记录尝试通过野蛮尝试法破译ORACLE帐号口令的例子:
1. 修改审计相关引数(参照上一节介绍的方法)
2. 重启资料库
3. 设定审计资讯
SQL>AUDIT ALL BY ACCESS WHENEVER NOT SUCCESSFUL
4. 查询AUD$
SQL>select returncode, action#, userid, userhost, terminal,timestamp
from aud$
RETURNCODE ACTION# USERID USERHOST TERMINAL
---------- ---------- -------- -------------------- --------------------
1017 100 SCOTT WPRATA-BR
1017 100 SCOTT WPRATA-BR
1017 100 SCOTT WPRATA-BR
ORA-1017的含义为错误的使用者名称口令。通过检视AUD$表可以清楚地看到WPRATA-BR尝试破译SCOTT的口令。可以通过下面一个储存过程来分析AUD$表,找出可疑的资讯:
create or replace procedure AuditLogin(Since Varchar2,Times PLS_Integer)
is
USER_ID VARCHAR2(20)
cursor c1 is select userid,count(*) from sys.aud$ where returncode='1017' and timestamp#>=to_date(Since,'yyyy-mm-dd')
group by userid
cursor C2 IS Select userhost, terminal,TO_CHAR(timestamp#,'YYYY-MM-DD:HH24:MI:SS')
from sys.aud$ WHERE returncode='1017' and timestamp#>=to_date(Since,'yyyy-mm-dd') AND USERID=USER_ID
ct PLS_INTEGER
V_USERHOST VARCHAR2(40)
V_TERMINAL VARCHAR(40)
V_DATE VARCHAR2(40)
BEGIN
OPEN C1
dbms_output.enable(1024000)
LOOP
FETCH C1 INTO USER_ID,CT
EXIT WHEN C1%NOTFOUND
IF(CT>=TIMES) THEN
DBMS_OUTPUT.PUT_LINE('USER BROKEN ALARM:'||USER_ID)
OPEN C2
LOOP
FETCH C2 INTO V_USERhOST,V_TERMINAL,V_DATE
DBMS_OUTPUT.PUT_LINE(CHR(9)||'HOST:'||V_USERHOST||',TERM:'||V_TERMINAL||',TIME:'||V_DATE)
EXIT WHEN C2%NOTFOUND
END LOOP
close c2
END IF
END LOOP
close c1
END
/
一下是执行结果:
SQL>set serveroutput on
SQL>execute auditlogin('2004-01-01',2)
USER BROKEN ALARM:SYS
HOST:,TERM:XUJI,TIME:2004-09-22:11:08:00
HOST:,TERM:XUJI,TIME:2004-09-22:11:08:01
HOST:,TERM:XUJI,TIME:2004-09-22:11:09:29
HOST:,TERM:XUJI,TIME:2004-09-22:11:09:29
PL/SQL 过程已成功完成。
将审计相关的表移动到其他表空间
由于AUD$表等审计相关的表存放在SYSTEM表空间,因此为了不影响系统的效能,保护SYSTEM表空间,最好把AUD$移动到其他的表空间上。可以使用下面的语句来进行移动:
sql>connect / as sysdba
sql>alter table aud$ move tablespace
sql>alter index I_aud1 rebuild online tablespace
SQL>alter table audit$ move tablespace
SQL>alter index i_audit rebuild online tablespace
SQL>alter table audit_actions move tablespace
SQL>alter index i_audit_actions rebuild online tablespace
分类: ORACLE
好文要顶 关注我 收藏该文
果然
关注 - 1
粉丝 - 0
+加关注
0
0
« 上一篇:[转]oracle审计详解
» 下一篇:oracle中使用者删除不了,ORA-01940提示 “无法删除当前已连线使用者”
posted on 2015-07-31 10:37 果然 阅读(23) 评论(0) 编辑 收藏
重新整理评论重新整理页面返回顶部
注册使用者登入后才能发表评论,请 登入 或 注册,访问网站首页。
【推荐】50万行VC++原始码: 大型组态工控、电力模拟CAD与GIS原始码库
【福利】微软Azure给部落格园的你专属双重好礼
【推荐】融云释出 App 社交化白皮书 IM 提升活跃超 8 倍
【推荐】BPM免费下载
最新IT新闻:
· 新年正能量!他说iPad给予了他一次新生命
· 曝联通2016年终奖取消:集团亏损 只发基本工资
· 罗振宇跨年演讲完整版:2017年小心这5只黑天鹅
· 外媒评出2016年最差电子产品排行榜:三星Note7登顶
· 优必选机器人出新品、搭渠道,将完成20亿元融资
» 更多新闻...
最新知识库文章:
· 写给未来的程式媛
· 高质量的工程程式码为什么难写
· 循序渐进地程式码重构
· 技术的正宗与野路子
· 陈皓:什么是工程师文化?
» 更多知识库文章...
导航
部落格园
首页
联络
订阅
如何配置linux审计功能部署java不用做任何改动就可以部署到linux系统,java编译成*.class档案只需要虚拟机器的支援,你只要在linux环境下装一个jdk就OK了,然后配置一下环境变数。 然后java的class档案或者打包好的*.jar档案考到linux目录下就可以用了.
怎么检视windows下的oracle是否开启审计功能检视aud$表(或者dba_audit_trial检视)中是否有资料,如果有资料说明审计功能开启的
select * from aud$
select * from dba_audit_trial
检视系统开启了那些审计功能
select * from dba_priv_audit_opts系统许可权审计
select * from dba_obj_audit_opts物件许可权审计
如何检视oracle是否开启了审计功能1、语句审计(Statement Auditing)。
对预先指定的某些SQL语句进行审计。这里从SQL语句的角度出发,进行指定。审计只关心执行的语句。
例如,audit CREATE TABLE命令,就表明对"create table"语句的执行进行记录。 不管这语句是否是针对某个物件的 *** 作
2、许可权审计(Privilege Auditing)
对涉及某些许可权的 *** 作进行审计。这里强调“涉及许可权”
例如,audit CREATE TABLE命令,又可以表明对涉及“CREATE TABLE”许可权的 *** 作进行审计。
所以说,在这种命令的情况下,既产生一个语句审计,又产生了一个许可权审计。
什么是资料库的审计功能,为什么要提供审计功能资料库是任何商业和公共安全中最具有战略性的资产,通常都储存着重要的商业伙伴和客户资讯,这些资讯需要被保护起来,以防止竞争者和其他非法者获取。网际网路的急速发展使得企业资料库资讯的价值及可访问性得到了提升,同时,也致使资料库资讯资产面临严峻的挑战,概括起来主要表现在以下三个层面:
1. 管理风险:主要表现为人员的职责、流程有待完善,内部员工的日常 *** 作有待规范,第三方维护人员的 *** 作监控失效等等,离职员工的后门,致使安全事件发生时,无法追溯并定位真实的 *** 作者。
2. 技术风险:Oracle, SQL Server是一个庞大而复杂的系统,安全漏洞如溢位, 注入层出不穷,每一次的CPU(Critical Patch Update)都疲于奔命, 而企业和 *** 处于稳定性考虑,往往对补丁的跟进非常延后,更何况通过应用层的注入攻击使得资料库处于一个无辜受害的状态。
3. 审计层面:现有的依赖于资料库日志档案的审计方法,存在诸多的弊端,比如:资料库审计功能的开启会影响资料库本身的效能、资料库日志档案本身存在被篡改的风险,难于体现审计资讯的有效性和公正性。此外,对于海量资料的挖掘和迅速定位也是任何审计系统必须面对和解决的一个核心问题之一。
伴随着资料库资讯价值以及可访问性提升,使得资料库面对来自内部和外部的安全风险大大增加,如违规越权 *** 作、恶意入侵导致机密资讯窃取泄漏,但事后却无法有效追溯和审计。
sangfor 流量审计功能在哪恩 你说的是深信服的上网行为管理产品吧,深信服上网行为管理产品的主要功能有:
①识别(就是所有使用者和网站以及应用系统的识别,深信服可以自动识别网站和软体的功能性 比如是娱乐的,办公的还是游戏)
②流控:就是流量控制,既然知道了每个软体都在做什么,就可以对流量的控制,比如对P2P软体的控制,这样就可以保证我们办公的正常执行
③管理:我们可以针对网上的某一软体或网页进行限制或禁止,可以具体到某一软体的流量几K每秒。
④安全:上网行为管理可以对我们的客户电脑进行安全维护就是防止网路病毒和提醒软体漏洞。再就是防止泄密,比如一些QQ泄密和邮件泄密,防止公司的损失。
⑤审计:就是对公司职工上网记录的保留,包括浏览,软体,邮件,聊天记录,等等一切网路行为的保留,以便以后的查取。并且有深信服专利对于SSL的审计。
配置审计包括物理审计 哪些属于功能审计的范畴B 答案解析: 答案A不正确,事实证据是情况属性答案B正确,审计发现和建议要以4个属性为依据。标准是在进行评价或核证时应用的标准、措施或期望值(应该存在什么)情况是内部审计师在检查过程中发现的事实证据(存在什么)原因是预期和实际情况之间存在差异的原因(为什么情况会存在)原因,它是预期和实际情况之间存在差异的原因(为什么情况会存在)效果是由于情况与标准不一致,机构和/或其他部门面临的风险(即差异的影响)效果,它是由于情况与标准不一致,机构和/或其他部门面临的风险(即差异的影响)(实务公告2410-1)。原因提供了回答“为什么”的答案,并且应是纠正措施的依据。 答案C不正确,风险或暴露是效果属性答案D不正确,对审计发现和建议的效果的评价是内部审计师的结论。
usg自带的审计功能,怎么才能看到被审计的内容一、审计所的主要工作内容是:1、审计所的工作是审计资料作出证据蒐集及分析,以评估企业财务状况,然后就资料及一般公认准则之间的相关程度作出结论及报告。2、检讨组织的运作程式及方法以评估其效率及效益;履行审计(遵行审计);评估组织是否遵守由更高权力机构所订的程式、守则或规条。3、对财务报表审计:评估企业或团体的财务报表是否根据公认会计准则编制,一般由独立会计师进行。评估企业或机构的资讯系统的安全性,完整性、系统可靠性及一致性。二、审计所的职能:1、审计所是指由国家授权或接受委托的专职机构和人员成立的,依照国家法规、审计准则和会计理论,运用专门的方法,对被审计单位的财政、财务收支、经营管理活动及其相关资料的真实性、正确性、合规性、合法性、效益性进行审查和监督,评价经济责任,鉴证经济业务,用以维护财经法纪、改善经营管理、提高经济效益的一项独立性的经济监督活动。2、对经济活动和经济现象的认定:经济活动和经济现象是审计的物件,也就是审计的内容。经济活动和经济现象的认定代表着被审单位对本单位经济活动的合法合规性或有效性及经济现象(如会计资料)的真实公允性的一种看法。3、收集和评估证据:证据是审计人员用来确定被审单位经济活动合法合规性或有效性及经济现象真实公允性的各种形式的凭据。收集充分、有力的审计证据是审计工作的核心。从一定意义上说,审计就是有目的、有计划地收集、鉴定、综合和利用审计证据的过程。4、保持其客观性:客观性是指不偏不倚,实事求是,这是对审计人员的职业道德要求。审计人员只有客观地收集和评估证据、作出审计结论、报告审计结果,才能达到审计目标,也才能使审计工作令审计意见的利害关系人信服。5、为其制定审计的标准:所制定的标准是审计的依据,即判断被审单位的经济活动合法合规与否、经济效益如何、经济现象真实公允与否的尺度,如国家颁布的法律、规章和标准,职业团体制定的会计准则(如美国财务会计准则委员会FASB释出的《财务会计准则公告》),企业制定的各种消耗定额、计划、预算等。6、为审计传递结果:向依赖和利用审计意见的组织和人员传递结果是通过编制审计报告进行的。编制审计报告是审计工作的最后步骤。审计报告的格式有些是标准化的,如年度会计报表审计报告有些则是非标准化的,如职员舞弊专项审计报告。在有些情况下,审计人员甚至还可以采取口头的非正式形式报告审计结果。三、举例1、GE公司是美国最大的产业公司之一,也是世界上最大的电气公司。该公司有12大类产品和服务专案,包括家用电器、广播装置、航空机械、科技新产品开发、销售服务等。2、GE每年都会进行由审计所进行的外部审计,其工作过程是:(1)在审计工作开始之前,审计小组要做的工作是了解和研究情况,(2)在审计中,审计小组对整个审计工作负有全权,召开调查会、进行个别谈话、收集情况和资料等活动都由他们自主安排。在这之后是分析情况、理清头绪,衡量各种问题间的相互影响。为了实现审计目标,他们可以做他们认为需要做的任何工作,目的只有一个:找出问题的解决方案。(3)即便找到了解决法,事情也远未结束。实施方案的具体建议一般由审计小组提出,而且他们总是要把新方案变成一种日常工作,具体落实后才肯罢手,以便在他们离开后能够坚持下去。在这一过程中,审计小组要与被审计部门的领导和业务人员打无数次交道。(4)审计所根据审计目标和程式,出具审计报告。
oracle 行级触发器可以用于审计功能吗sqlplus "/ as sysdba"
show parameter audit
alter system set audit_sys_operations=TRUE scope=spfile
alter system set audit_trail=DB scope=spfile
shutdown immediate
startup force
Oracle 11g起audit是自动开启的。我很烦这个审计开启,审计日志半个月10G,烦烦烦。我一把都关闭Oracle的审计功能,提高Oracle的空闲率。
查询SQL审计功能是否开启mysql伺服器自身没有提供审计功能,但是我们可以使用init-connect+binlog的方法进行mysql的 *** 作审计。由于mysqlbinlog记录了所有对资料库长生实际修改的sql语句,及其执行时间,和connection_id但是却没有记录connection_id对应的详细使用者资讯。在后期审计进行行为追踪时,根据binlog记录的行为及对应的connection-id结合之前连线日志记录进行分析,得出最后的结论。1.设定init-connect1.1建立用于存放连线日志的资料库和表createdatabaseaesslogCREATETABLEaesslog.aesslog(`id`int(11)primarykeyauto_increment,`time`timestamp,`localname`varchar(30),`matchname`varchar(30))1.2建立使用者许可权可用现成的root使用者用于资讯的读取grantselectonaesslog.*toroot如果存在具有to*.*许可权的使用者需要进行限制。这里还需要注意使用者必须对aesslog表具有insert许可权grantselectonaesslog.*touser@’%’1.3设定init-connect在[mysqld]下新增以下设定:init-connect=’insertintoaesslog.aesslog(id,time,localname,matchname)values(connection_id(),now(),user(),current_user())’------注意user()和current_user()的区别log-bin=xxx这里必须开启binlog1.4重启资料库生效shell>/etc/init.d/mysqlrestart2.记录追踪2.1thread_id确认可以用以下语句定位语句执行人Tencent:~#mysqlbinlog--start-datetime='2011-01-2616:00:00'--s-datetime='2011-01-2617:00:00'/var/lib/mysql/mysql-bin.000010|grep-B5'wsj'COMMIT/*!*/#at767#11012616:16:43serverid1end_log_pos872Querythread_id=19exec_time=0error_code=0usetest/*!*/SETTIMESTAMP=1296029803/*!*/createtablewsj(idintunsignednotnull)--BEGIN/*!*/#at940#11012616:16:57serverid1end_log_pos1033Querythread_id=19exec_time=0error_code=0SETTIMESTAMP=1296029817/*!*/insertintowsj(id)values(1)--BEGIN/*!*/#at1128#11012616:16:58serverid1end_log_pos1221Querythread_id=19exec_time=0error_code=0SETTIMESTAMP=1296029818/*!*/insertintowsj(id)values(2)2.2使用者确认thread_id确认以后,找到元凶就只是一条sql语句的问题了。mysql>select*fromaesslogwhereid=19+----+---------------------+---------------------+-----------+|id|time|localname|matchname|+----+---------------------+---------------------+-----------+|19|2011-01-2616:15:54|test@10.163.164.216|test@%|+----+---------------------+---------------------+-----------+1rowinset(0.00sec)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)