最近有发现有坏蛋delete 了数据,找不到是哪个user 哪个host,发现mysql 是可以对没有super 权限的用户开启审计功能,oracle早就

最近有发现有坏蛋delete 了数据,找不到是哪个user 哪个host,发现mysql 是可以对没有super 权限的用户开启审计功能,Oracle早就实现了,只需要打开参数即可。

1.在my.cnf [mysqld]组下加入

init-connect='insert intoaduit.accesslog(id,time,localname,matchname)values(connection_id(),now(),user(),current_user());’

#create database accesslog;

CREATE TABLE aduit.accesslog (`id` int(11) primary keyauto_increment, `time` timestamp, `localname` varchar(30), `matchname`varchar(30))engine=innodb;

2.被审计的用户需要有insert aduit.accesslog 权限

grant insert on aduit.accesslog to hhl@'172.17.62.%' identified by'xxx';

3.只能审计普通用户没有super权限的用户的DDL,DML,还用开启binlog 分析。

[root@wy ~]# mysql -upxy -p -P3306 -h 10.45.247.81

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

mysql> insert into test.t10 values(10);

Query OK, 1 row affected (0.00 sec)

#上面client 连接Processid = 11

mysql> select * from aduit.accesslog;

+----+---------------------+---------------------+-----------+

| id | time |localname | matchname |

+----+---------------------+---------------------+-----------+

| 3 | 2014-09-24 17:16:06 |admin@10.45.247.160 | admin@% |

| 10 | 2014-09-24 17:26:18 | pxy@10.45.247.160 | pxy@% |

|11 | 2014-09-24 17:28:13 |pxy@10.45.247.160 | pxy@% |

+----+---------------------+---------------------+-----------+

Processid = 11,

mysql> show processlist;

+----+-----------------+---------------------+------+---------+------+------------------------+------------------+

| Id | User | Host | db | Command | Time | State | Info |

+----+-----------------+---------------------+------+---------+------+------------------------+------------------+

| 2 | root | localhost | NULL | Query | 0| NULL | showprocesslist |

| 11 | pxy | 10.45.247.160:53086 | NULL |Sleep | 26 | | NULL |

+----+-----------------+---------------------+------+---------+------+------------------------+------------------+

看到了id=11的吧,就是aduit.accesslog 表的id列。

通过解析 binlog

[root@localhost binlog]# mysqlbinlog --base64-output=decode-rows -v-v mysql-bin.000030 |grep -nthread_id=11

22:#140924 17:28:13 server id 114 end_log_pos 282 Query thread_id=11 exec_time=0 error_code=0

24:SET @@session.pseudo_thread_id=11/*!*/;

42:#140924 17:32:21 server id 114 end_log_pos 491 Query thread_id=11 exec_time=0 error_code=0

定位到模糊的行位置,再找到binlog中Processid = 11 的操作。

--------------------------------------分割线 --------------------------------------

Ubuntu 14.04下安装MySQL

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主从服务器

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二进制安装

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址:

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql审计权限_MySQL对普通用户(没有super)开启审计功能相关推荐

  1. windows 新建mysql权限设置_Windows下设置MySQL安全权限_mysql

    注意:本文的内容涉及到修改NTFS磁盘权限和设置安全策略,请务必在确认您了解操作可能的后果之后再动手进行任何的修改. 文中提及的权限都是在原有权限上附加的权限. [修改步骤] 1.创建用户 创建一个名 ...

  2. 怎么给mysql用户添加权限_MySQL下添加用户以及给予权限的实现

    在mysql中添加用户的方法如下: 1 使用root用户登录 mysql -u root -p 2  选择mysql数据库 use mysql 3  添加用户 insert into user(Hos ...

  3. mysql 创建新用户权限_MySQL创建新用户以及权限授予

    1.通过mysql数据库的user表查看用户相关信息 mysql> use mysql; mysql> select host,user from user; 查看用户相关信息 2.创建数 ...

  4. mysql赋予用户数据库所有权限_MySQL 数据库赋予用户权限操作表

    MySQL清空数据库的操作:truncate table tablename; MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数据 ...

  5. mysql 赋权限_MySQL赋予用户权限命令总结

    MySQL用户可用权限 一个新建的MySQL用户没有任何访问权限,这就意味着你不能在MySQL数据库中进行任何操作.你得赋予用户必要的权限.以下是一些可用的权限: ALL: 所有可用的权限 CREAT ...

  6. mysql将权限赋给某个用户_mysql 赋给用户权限

    遇到了 SQLException: access denied for  @'localhost' (using password: no) 解决办法   grant all privileges o ...

  7. mysql给用户添加数据库权限_MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限(重要)...

    1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...

  8. 如何设置mysql的权限_mysql 权限控制

    1.mysql的权限是,从某处来的用户对某对象的权限. 2.mysql的权限采用白名单策略,指定用户能做什么,没有指定的都不能做. 3.权限校验分成两个步骤: a.能不能连接,检查从哪里来,用户名和密 ...

  9. mysql 常用权限_MySQL的权限有哪些

    2015-09-04 回答 不知道你问的什么意思,mysql中用户的权如下: select_priv.确定用户是否可以通过select命令选择数据. insert_priv.确定用户是否可以通过ins ...

最新文章

  1. 你见过最差的算法工程师什么样?
  2. 两步设置:visual studio code(vscode)如何设置文本自动换行
  3. 【Hankson 的趣味题】
  4. 漫步数学分析二十五——等连续函数
  5. javascript 面试题之一
  6. mpu6050 重力加速度_2021年高考物理一轮复习学与练 重力、弹力 、摩擦力 高中物理知识总结大全...
  7. [转载] python之flask框架
  8. POJ 3070 Fibonacci(矩阵高速功率)
  9. Install/Remove of the Service Denied
  10. 动手学Pytorch深度学习建模与应用
  11. make flash 报错解决。
  12. 解决微信观看视频全屏播放问题
  13. 沟通中的情绪管理(演讲稿)
  14. php万年历月份处理_使用 PHP 写的万年历接口
  15. PLSQL - 递归子查询RSF打破CONNECT BY LOOP限制
  16. 机器学习中的F1-score
  17. Ubuntu 修复弹出U盘“An operation is pending”
  18. 不愿意跟同事分享的强大办公软件,超超超超级好用
  19. 幽默段子~整理(我们是大自然的搬运工)
  20. 什么是“高新技术企业”?申报山西省高企认定有哪些条件?

热门文章

  1. python是一门什么课程-Python究竟是一门怎样的语言,Python为什么这么火?
  2. python在会计工作中的应用-浅谈各行各业到底该如何应用python?
  3. python可以自学吗-python自学行吗 新手可以自学python吗
  4. python代码壁纸-python设置windows桌面壁纸的实现代码
  5. python的优缺点有哪些-Python语言的优缺点有哪些
  6. python画三维立体图-python之画三维图像
  7. python3.6.5下载-Python
  8. python就业方向及工资-Python的就业方向有哪些?
  9. 学python买什么电脑-程序员,买了台破Apple电脑,用来学Python
  10. 少儿编程python线上课程-北京Python程序开发课程