• MySQL5.5 安装mcafee mysql-audit插件 不成功


    主页:https://github.com/mcafee/mysql-audit/wiki

    各版本安装包:https://bintray.com/mcafee/mysql-audit-plugin/release

    安装步骤还是比较简单的,只有几步:

    1)查看插件目录

    mysql> SHOW GLOBAL VARIABLES LIKE 'plugin_dir';
    
    +---------------+--------------------+
    | Variable_name | Value              |
    +---------------+--------------------+
    | plugin_dir    | /mysql/lib/plugin/ |
    +---------------+--------------------+
    1 row in set (0.00 sec)

    2)复制下载的so文件至plugin_dir

    3)安装插件,不报错即为成功

    mysql> INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so';

    4)可以查看安装的版本

    mysql> SHOW GLOBAL STATUS LIKE 'AUDIT_version';

    5)开启审计

    mysql> SET GLOBAL audit_json_file=ON;

    问题是,在第三步安装插件时总是不成功,报错

    mysql> INSTALL PLUGIN AUDIT SONAME 'libaudit_plugin.so';
    ERROR 1123 (HY000): Can't initialize function 'AUDIT'; Plugin initialization function failed.

    查看错误日志,注意到offsets_by_version: 1,即为打开Offsets检验,但提示Offsets检验失败

    140917 18:04:02 [Note] Audit Plugin: setup_offsets audit_offsets: (null) validate_checksum: 1 offsets_by_version: 1
    140917 18:04:03 [Note] Audit Plugin: mysqld: /mysql/bin/mysqld (325edbcbbfaabdddd7b22e3036c2d774) 
    140917 18:04:03 [ERROR] Audit Plugin: Offsets: 5.5.21 (4a03ad064ed393dabdde175f3ea05ff2) match thread validation check fails with value: 0. Skipping offest.
    140917 18:04:03 [ERROR] Audit Plugin: Offsets: 5.5.21 (4a03ad064ed393dabdde175f3ea05ff2) match thread validation check fails with value: 0. Skipping offest.
    140917 18:04:03 [ERROR] Audit Plugin: Offsets: 5.5.21-55 (e4f1b39e9dca4edc51b8eb6aa09e2fa4) match thread validation check fails with value: 0. Skipping offest.
    140917 18:04:03 [ERROR] Audit Plugin: Offsets: 5.5.21-55 (e4f1b39e9dca4edc51b8eb6aa09e2fa4) match thread validation check fails with value: 0. Skipping offest.
    140917 18:04:03 [ERROR] Audit Plugin: Offsets: 5.5.21 (66d23cb577e2bcfe29da08833f5e7d8b) match thread validation check fails with value: 0. Skipping offest.
    140917 18:04:03 [ERROR] Audit Plugin: Offsets: 5.5.21 (66d23cb577e2bcfe29da08833f5e7d8b) match thread validation check fails with value: 0. Skipping offest.
    140917 18:04:03 [ERROR] Audit Plugin: Offsets: 5.5.21-rel25.0 (346a87d97dbf5d7aad3a9f7f707f9477) match thread validation check fails with value: 0. Skipping offest.
    140917 18:04:03 [ERROR] Audit Plugin: Offsets: 5.5.21-rel25.0 (346a87d97dbf5d7aad3a9f7f707f9477) match thread validation check fails with value: 0. Skipping offest.
    140917 18:04:03 [Note] Audit Plugin: Couldn't find proper THD offsets for: 5.5.21-log
    140917 18:04:03 [ERROR] Plugin 'AUDIT' init function returned error.
    140917 18:04:03 [Note] Audit Plugin: deinit

    关闭audit_offsets_by_version后再试试,将audit_offsets_by_version=OFF写入/etc/my.cnf,重启数据库,再安装插件,仍然报错

    140917 18:11:02 [Note] Audit Plugin: setup_offsets audit_offsets: (null) validate_checksum: 1 offsets_by_version: 0
    140917 18:11:02 [Note] Audit Plugin: mysqld: /mysql/bin/mysqld (325edbcbbfaabdddd7b22e3036c2d774)
    140917 18:11:02 [Note] Audit Plugin: Couldn't find proper THD offsets for: 5.5.21-log
    140917 18:11:02 [ERROR] Plugin 'AUDIT' init function returned error.
    140917 18:11:02 [Note] Audit Plugin: deinit
    140917 18:11:42 [Note] Start binlog_dump to slave_server(1204), pos(mysql-bin.000011, 107)
    140917 18:11:48 [Note] Audit Plugin: Set interface version to: 12933376 (50521)
    140917 18:11:48 [Note] Audit Plugin: starting up. Version: 1.0.5 , Revision: 479 (64bit). AUDIT plugin interface version: 50521 (0xc559). MySQL Server versi
    on: 5.5.21-log.
    140917 18:11:48 [Note] Audit Plugin: setup_offsets audit_offsets: (null) validate_checksum: 1 offsets_by_version: 0
    140917 18:11:48 [Note] Audit Plugin: mysqld: /mysql/bin/mysqld (325edbcbbfaabdddd7b22e3036c2d774)
    140917 18:11:48 [Note] Audit Plugin: Couldn't find proper THD offsets for: 5.5.21-log
    140917 18:11:48 [ERROR] Plugin 'AUDIT' init function returned error.
    140917 18:11:48 [Note] Audit Plugin: deinit

    都是跟offsets有关,那就按照https://github.com/mcafee/mysql-audit/wiki/Troubleshooting
    所写,获取本机上mysql版本对应的offsets后,写入my.cnf试试

    下载offset计算脚本 https://raw.github.com/mcafee/mysql-audit/master/offset-extract/offset-extract.sh

    由于我的是percona server,另外需要指明mysqld.debug路径来计算,可能还需要mysqld-debug.debug

    # ./offset-extract.sh /mysql/bin/mysqld /usr/lib/debug/usr/sbin/mysqld.debug
    //offsets for: /mysql/bin/mysqld (5.5.21-log)
    {"5.5.21","325edbcbbfaabdddd7b22e3036c2d774", 6584, 6632, 4120, 4632, 104, 2608, 96, 0, 32, 104},
    # ./offset-extract.sh /mysql/bin/mysqld /usr/lib/debug/usr/sbin/mysqld-debug.debug
    //offsets for: /mysql/bin/mysqld (5.5.21-log)
    {"5.5.21","325edbcbbfaabdddd7b22e3036c2d774", 6608, 6656, 4136, 4656, 104, 2608, 96, 0, 32, 104},

    加入my.cnf的插件参数:

    plugin-load=AUDIT=libaudit_plugin.so
    audit_json_file=1
    audit_json_socket_name=/mysql/data/audit.sock
    audit_json_socket=OFF
    audit_json_file=ON
    audit_json_log_file=/mysql/data/audit.log
    audit_record_cmds=connect,update,delete
    audit_validate_checksum=OFF
    audit_offsets=6608, 6656, 4136, 4656, 104, 2608, 96, 0, 32, 104

    mysqld.debug和mysqld-debug.debug的offsets我都加入my.cnf试了下,仍然报错,崩溃!

    140917 15:38:26 [Note] Audit Plugin: starting up. Version: 1.0.5 , Revision: 479 (64bit). AUDIT plugin interface version: 50521 (0xc559). MySQL Server versi
    on: 5.5.21-log.
    140917 15:38:26 [Note] Audit Plugin: setup_offsets audit_offsets: 6608, 6656, 4136, 4656, 104, 2608, 96, 0, 32, 104 validate_checksum: 0 offsets_by_version:
     1
    140917 15:38:26 [Note] Audit Plugin: mysqld: /mysql/bin/mysqld (325edbcbbfaabdddd7b22e3036c2d774)
    140917 15:38:26 [Note] Audit Plugin: setup_offsets Audit_formatter::thd_offsets values: 6608 6656 4136 4656 104 2608 96 0 32 104
    140917 15:38:26 [ERROR] Audit Plugin: Offsets: (null) ((null)) match thread validation check fails with value: 0. Skipping offest.
    140917 15:38:26 [ERROR] Audit Plugin: Offsets set didn't pass validation. audit_offsets: 6608, 6656, 4136, 4656, 104, 2608, 96, 0, 32, 104 .
    140917 15:38:26 [ERROR] Plugin 'AUDIT' init function returned error.
    140917 15:38:26 [Note] Audit Plugin: deinit
    140917 15:38:26 [Warning] 'proxies_priv' entry '@ root@zm03' ignored in --skip-name-resolve mode.
    140917 15:38:26 [Note] Event Scheduler: Loaded 0 events
    140917 15:38:26 [Note] /mysql/bin/mysqld: ready for connections.
    Version: '5.5.21-log'  socket: '/mysql/mysqld.sock'  port: 3306  Source distribution
    140917 15:38:39 [Note] Audit Plugin: Set interface version to: 12933376 (50521)
    140917 15:38:39 [Note] Audit Plugin: starting up. Version: 1.0.5 , Revision: 479 (64bit). AUDIT plugin interface version: 50521 (0xc559). MySQL Server versi
    on: 5.5.21-log.
    140917 15:38:39 [Note] Audit Plugin: setup_offsets audit_offsets: 6608, 6656, 4136, 4656, 104, 2608, 96, 0, 32, 104 validate_checksum: 0 offsets_by_version:
     1
    140917 15:38:39 [Note] Audit Plugin: mysqld: /mysql/bin/mysqld (325edbcbbfaabdddd7b22e3036c2d774)
    140917 15:38:39 [Note] Audit Plugin: setup_offsets Audit_formatter::thd_offsets values: 6608 6656 4136 4656 104 2608 96 0 32 104
    140917 15:38:39 [ERROR] Audit Plugin: Offsets: (null) ((null)) match thread validation check fails with value: 0. Skipping offest.
    140917 15:38:39 [ERROR] Audit Plugin: Offsets set didn't pass validation. audit_offsets: 6608, 6656, 4136, 4656, 104, 2608, 96, 0, 32, 104 .
    140917 15:38:39 [ERROR] Plugin 'AUDIT' init function returned error.
    140917 15:38:39 [Note] Audit Plugin: deinit

    问题出在哪儿呢,该怎么配置呢?这里先记一笔!

  • 相关阅读:
    3.8 java基础总结①多线程
    RPM Database 实战详解
    关于CentOS7.2 控制面板不显示输入法,或者无法调出输入的问题。(已解决)
    mysqldump
    一些有意思的Linux命令
    和docket的第一次亲密接触
    centos7根分区扩容(亲测有效)
    相识mongodb
    开机自动获取spark用户名和服务器
    Puppet日常总结
  • 原文地址:https://www.cnblogs.com/leonora/p/3977806.html
Copyright © 2020-2023  润新知