ITPub博客

首页 > 数据库 > > window下mysql8.0.11审计统计用户登陆信息

window下mysql8.0.11审计统计用户登陆信息

作者:Pinja 时间:2019-09-16 17:10:29 0 删除 编辑

 oracle里面可以根据触发器来记录用户的登录次数,登陆IP,登陆时间等信心。在mysql里面有没有这样的方法呢? 同样的登入信息审计功能在mysql里面也是有的。

1.准备工作:    数据库:mysql8.0.11

                         操作系统: window

2.创建日志信息记录数据库和表: 

  create database accesslog;

  CREATE TABLE accesslog.accesslog (`id` int(11) primary key auto_increment, `time` timestamp, `localname` varchar(30), `matchname` varchar(30))

3.在mysql的配置文件下增加init-connect参数

  a.mysql8的配置文件my.ini不在安装目录下,而在*:\ProgramData\MySQL\MySQL Server 8.0下,是一个隐藏文件,需要在隐藏文件设置中打开才能找到。

  b.在my.ini的[mysqld]下设置参数:

    skip-external-locking

    init-connect='insert into accesslog.accesslog(time, localname, matchname) values(now(),user(),current_user());'

    server-id=1

4.重启mysql服务

  net stop mysql

  net start mysql

5.创建具有对数据库accesslog有插入权限的普通用户

create USER user1@'%' IDENTIFIED by 'user1';

      create USER user2@'%' IDENTIFIED by 'user2';

grant select on accesslog.*  to  user1@'%';

 grant select,insert  on accesslog.*  to  user2@'%';

flush PRIVILEGES;

6.用创建用户登录mysql

a.mysql -uuser1 -puser1登陆成功,执行 select * from accesslog.accesslog 报错

ERROR 2013 (HY000): Lost connection to MySQL server during query

b.mysql -uuser2 -puser2登陆成功,执行 select * from accesslog.accesslog 成功

7.查看数据库accesslog的日志记录信息表

 select * from accesslog.accesslog,发现没有记录,查看err文件后报错:

[Warning] [MY-013130] [Server] Aborted connection 11 to db: 'unconnected' user: 'user2' host: 'localhost' (init_connect command failed; diagnostics area: MY-001064 - You have an error in your SQL syntax; check the manual that corr)

解决方法:init-connect 参数里面的语法错误,修改正确语法后解决。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2637/viewspace-3165481/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: indexOf()的问题
请登录后发表评论 登录
全部评论

注册时间:2019-08-16

  • 博文量
    112
  • 访问量
    1406