zoukankan      html  css  js  c++  java
  • 25.Mysql的审计插件

    通过如果mysql要想记录数据中所有的操作,则必须要开启gener_log日志,但是由于该日志开启后会严重影响性能,所以,这里我们可以使用审计插件(audit),不过由于mysql社区版本没有这个插件,该插件被放到了mysql的企业版本中,因此对于对于mysql社区版就不能使用了。

    不过天无绝人之路,mysql的兄弟maridb却对于这个插件是开源的,因此,我们可以将mariab aduit plugin安装到mysql中进行使用

    安装地址:https://mariadb.com/kb/en/mariadb-audit-plugin-installation/

    这里需要说明一点:目前maridb已经不再单独地将该插件拿出来让下载,因此我们要想下载它就必须要下载maridb数据库,然后再将它提取出来安装到mysql中

    maridb下载地址:https://downloads.mariadb.org/mariadb/+releases/

    下载后将插件:server_audit.so文件放在mysql的安装插件的目录下,如果不知道自己插件目录,可以执行show variables like '%plug%';命令查看安装路径

    当移到完成后再进行安装插件:

      安装命令:

      INSTALL PLUGIN server_audit SONAME 'server_audit.so';

    这里也可以直接在配置文件中添加,然后重启mysql服务器即可。
      
    [mysqld]
      
      plugin-load=server_audit=server_audit.so
      server_audit=FORCE_PLUS_PERMANENT


    这里是整个安装流程(其中还有一些报错信息):http://www.hellojava.com/a/91290.html

    配置:
    root@localhost:(none) 23:01:59>show variables like '%server_audit%';
    +-------------------------------+-----------------------+
    | Variable_name                 | Value                 |
    +-------------------------------+-----------------------+
    | server_audit_events           |                       |
    | server_audit_excl_users       |                       |
    | server_audit_file_path        | server_audit.log      |
    | server_audit_file_rotate_now  | OFF                   |
    | server_audit_file_rotate_size | 1000000               |
    | server_audit_file_rotations   | 9                     |
    | server_audit_incl_users       |                       |
    | server_audit_loc_info         |                       |
    | server_audit_logging          | OFF                   |
    | server_audit_mode             | 1                     |
    | server_audit_output_type      | file                  |
    | server_audit_query_log_limit  | 1024                  |
    | server_audit_syslog_facility  | LOG_USER              |
    | server_audit_syslog_ident     | mysql-server_auditing |
    | server_audit_syslog_info      |                       |
    | server_audit_syslog_priority  | LOG_INFO              |
    +-------------------------------+-----------------------+
    以上是默认值

    参数说明:
    server_audit_output_type:指定日志输出类型,可为SYSLOG或FILE
    server_audit_logging:启动或关闭审计
    server_audit_events:指定记录事件的类型,可以用逗号分隔的多个值(connect,query,table),如果开启了查询缓存(query cache),查询直接从查询缓存返回数据,将没有table记录
    server_audit_file_path:如server_audit_output_type为FILE,使用该变量设置存储日志的文件,可以指定目录,默认存放在数据目录的server_audit.log文件中
    server_audit_file_rotate_size:限制日志文件的大小
    server_audit_file_rotations:指定日志文件的数量,如果为0日志将从不轮转
    server_audit_file_rotate_now:强制日志文件轮转
    server_audit_incl_users:指定哪些用户的活动将记录,connect将不受此变量影响,该变量比server_audit_excl_users优先级高
    server_audit_syslog_facility:默认为LOG_USER,指定facility
    server_audit_syslog_ident:设置ident,作为每个syslog记录的一部分
    server_audit_syslog_info:指定的info字符串将添加到syslog记录
    server_audit_syslog_priority:定义记录日志的syslogd priority
    server_audit_excl_users:该列表的用户行为将不记录,connect将不受该设置影响
    server_audit_mode:标识版本,用于开发测试

     

    示例:在mysql的配置文件添加: 

    #audit
    server_audit_events='CONNECT,QUERY,TABLE' //
    server_audit_logging=on
    server_audit_file_path =/opt/logs/mysql/auditlogs/  ##这个可以自己定义
    server_audit_file_rotate_size=200000000
    server_audit_file_rotations=200

      


      

  • 相关阅读:
    第三次作业——吉林市两日游规格说明书
    第三次作业——四则运算试题生成
    第三次作业——单元测试
    第三次作业——效能分析
    第三次作业——代码规范
    第三次作业——功能测试
    第二周程序作业
    第二周例行报告
    每周例行报告(10.8-10.14)
    每周例行报告(9.18-10.7)
  • 原文地址:https://www.cnblogs.com/zmc60/p/14772917.html
Copyright © 2011-2022 走看看