美文网首页
20210121--通过init-connect开启MYSQL数

20210121--通过init-connect开启MYSQL数

作者: 負笈在线 | 来源:发表于2021-03-23 23:18 被阅读0次

    方法缺点:只对有低级权限的用户的操作有记录,权限高的则没有 。优点:日志信息比较小,对性能影响小

    1.创建审计用的库表

    mysql>  CREATE TABLE accesslog

    ( thread_id int(11) DEFAULT NULL,                #进程id

    log_time datetime default null,                  #登录时间

    localname varchar(50) DEFAULT NULL,              #登录名称,带详细ip

    matchname varchar(50) DEFAULT NULL,              #登录用户

    key idx_log_time(log_time)

    ) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

    2.配置init-connect参数

    mysql>  set global init_connect='insert into db_monitor.accesslog(thread_id,log_time,localname,matchname) values(connection_id(),now(),user(),current_user())';

    mysql>  flush privileges;

    3.授予普通用户对accesslog表的insert权限

    mysql>  create user demon@'%';

    mysql>  grant insert on db_monitor.accesslog to demon@'%';

    4.测试

    1)进入具有insert(普通权限)的用户demon中对数据库进行一系列操作

    mysql>  use test;

    mysql>  delete from runoob_tbl where runoob_id=2;

    mysql>  flush privileges;

    2)进入具有高级权限的用户下,查看表中的记录

    mysql>  select * from db_monitor.accesslog;

    相关文章

      网友评论

          本文标题:20210121--通过init-connect开启MYSQL数

          本文链接:https://www.haomeiwen.com/subject/seldzktx.html