在MYSQL中,每个连接都会先执行init-connect,进行连接的初始化.我们可以在这里获取用户的登录名称和thread的ID值.然后配合binlog,就可以追踪到每个操作语句的操作时间,操作人等.实现审计. 实验过程:1:创建登录日志库,登录日志表 CREATE DATABASE `accesslog`; USE `accesslog`; CREATE TABLE `accesslog` ( `id` int(11) NOT NULL AUTO_INCREMENT, `thread_id`…
在某些应用里,需要知道谁对表进行了操作,进行了什么操作,所为责任的追朔.在MYSQL里,可以使用触发器实现. 1:创建测试表 mysql> create table A(a int);Query OK, 0 rows affected (0.01 sec) 2:创建追踪表,里面包含表名称,操作类型,操作时间,操作员,操作机器IP地址 mysql> create table trace(tbname varchar(30),DML_type varchar(10),DML_time dateti…
mysql的连接首先都是要通过init-connect初始化,然后连接到实例. 我们利用这一点,通过在init-connect的时候记录下用户的thread_id,用户名和用户地址实现db的访问审计功能. 实现步骤 1.创建审计用的库表. 为了不与业务的库冲突,单独创建自己的库: #建库表代码 create database db_monitor ; use db_monitor ; CREATE TABLE accesslog ( thread_id int(11) DEFAULT NULL,…
目前社区版本的mysql的审计功能还是比较弱的,基于插件的审计目前存在于Mysql的企业版.Percona和MariaDB上,但是mysql社区版本有提供init-connect选项,基于此我们可以用它来完成审计功能. init-connect参数说明: http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_init_connect step1:创建用户数据库表 set names utf8 crea…
通常,我们运维管理人员需要知道一台服务器上有哪些用户登录过,在服务器上执行了哪些命令,干了哪些事情,这就要求记录服务器上所用登录用户的操作信息,这对于安全维护来说很有必要.废话不多说了,下面直接记录做法: 1)查看及管理当前登录用户 使用w命令查看当前登录用户正在使用的进程信息,w命令用于显示已经登录系统的用户的名称,以及它们正在做的事.该命令所使用的信息来源于/var/run/utmp文件.w命令输出的信息包括: -> 用户名称 -> 用户的机器名称或tty号 -> 远程主机地址 -&…
有时,我们想追踪某个数据库操作记录,如想找出是谁操作了某个表(比如谁将字段名改了). 二进制日志记录了操作记录,线程号等信息,但是却没有记录用户信息,因此需要结合init-connect来实现追踪. init-connect,在每次连接的初始化阶段,记录下这个连接的用户,和connection_id信息. 操作如下: 1:建监控连接信息的表 use dba; create table accesslog(`thread_id` int primary key auto_increment, `t…
之前分享过多次Mysql主题,今天继续分享mysql命令行入门   1. 那么多mysql客户端工具,为何要分享命令行操作? -快捷.简单.方便 -在没有客户端的情况下怎么办 -如果是mysql未开启第三方访问,客户端就是白瞎   2. 如何通过命令行进入mysql   --Start-- [root@localhost~]# mysql -u root -p    #老徐注释:输入左侧命令,回车 root是用户名 Enter password:                         …
mysql基于init-connect+binlog完成审计功能 目前社区版本的mysql的审计功能还是比较弱的,基于插件的审计目前存在于Mysql的企业版.Percona和MariaDB上,但是mysql社区版本有提供init-connect选项,基于此我们可以用它来完成审计功能. init-connect参数说明: http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_init_connect s…
如何实现MySQL数据库使用情况的审计   最佳答案   mysql的审计功能 mysql服务器自身没有提供审计功能,但是我们可以使用init-connect + binlog的方法进行mysql的操作审计.由于mysql binlog记录了所有对数据库长生实际修改的sql语句,及其执行时间,和connection_id但是却没有记录connection_id对应的详细用户信息.在后期审计进行行为追踪时,根据binlog记录的行为及对应的connection-id 结合 之前连接日志记录 进行分…
Mysql新建用户操作 方法一: mysql> insert into mysql.user(Host,User,Password)  values("localhost","zhangs",password("123456")); mysql> flush privileges; 解释:这样就创建了一个用户名为zhangs,密码为123456的数据库用户:此处的"localhost",是指该用户只能在本地登录,不…