最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

IntroductiontothePerconaMySQLAuditLogPlugin_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:17:46
文档

IntroductiontothePerconaMySQLAuditLogPlugin_MySQL

IntroductiontothePerconaMySQLAuditLogPlugin_MySQL:Percona has developed a MySQL Audit Log plugin that is now included in Percona Server since the recent5.5and5.6releases. This implementation is alternative to the MySQL Enterprise Audit Log Plugin: Percona re-implemented the Audit Plugin co
推荐度:
导读IntroductiontothePerconaMySQLAuditLogPlugin_MySQL:Percona has developed a MySQL Audit Log plugin that is now included in Percona Server since the recent5.5and5.6releases. This implementation is alternative to the MySQL Enterprise Audit Log Plugin: Percona re-implemented the Audit Plugin co
Percona has developed a MySQL Audit Log plugin that is now included in Percona Server since the recent5.5and5.6releases. This implementation is alternative to the MySQL Enterprise Audit Log Plugin: Percona re-implemented the Audit Plugin code as GPL as Oracle’s code was closed source. This post is a quick introduction to this plugin.

Installation
There are two ways to install the Percona MySQL Audit Plugin:

INSTALL PLUGIN audit_log SONAME 'audit_log.so';

INSTALL PLUGINaudit_logSONAME'audit_log.so';

or in my.cnf

[mysqld]plugin-load="audit_log=audit_log.so"
[mysqld]

plugin-load="audit_log=audit_log.so"

Verify installation

mysql> SHOW PLUGINS/G...*************************** 38. row *************************** Name: audit_logStatus: ACTIVE Type: AUDITLibrary: audit_log.soLicense: GPL38 rows in set (0.00 sec)

mysql>SHOWPLUGINS/G

...

***************************38.row***************************

Name:

Status: Type:

Library:

License:

38rowsinset(0.00

Configuration
Let’s see variables provided by the Percona MySQL Audit Plugin:

mysql> show global variables like 'audit%';+--------------------------+--------------+| Variable_name | Value |+--------------------------+--------------+| audit_log_buffer_size | 1048576 || audit_log_file | audit.log || audit_log_flush | OFF || audit_log_format | OLD || audit_log_policy | ALL || audit_log_rotate_on_size | 0 || audit_log_rotations | 0 || audit_log_strategy | ASYNCHRONOUS |+--------------------------+--------------+7 rows in set (0.00 sec)

mysql>showglobalvariableslike'audit%';

+--------------------------+--------------+

|Variable_name |Value |

+--------------------------+--------------+

|

|audit_log_file |audit.log |

|

|

|audit_log_policy |ALL |

|

|

|

+--------------------------+--------------+

7rowsinset(0.00

The Percona MySQL Audit Plugin can log using the memory buffer to deliver better performance. Messages will be written into memory buffer first and then flushed to file in background. A certain amount of events can be lost in case of server crash or power outage. Another option is to log directly to file without using memory buffer. There is also an option to fsync every event.

Set audit_log_strategy to control log flushing:

  • ASYNCHRONOUS log using memory buffer, do not drop events if buffer is full
  • PERFORMANCE log using memory buffer, drop events if buffer is full
  • SEMISYNCHRONOUS log directly to file, do not fsync every event
  • SYNCHRONOUS log directly to file, fsync every event
  • audit_log_buffer_size specifies the size of memory buffer, it makes sense only for ASYNCHRONOUS and PERFORMANCE strategy.

    Variable audit_log_file specifies the file to log into. It’s value can be path relative to datadir or absolute path.

    The Percona MySQL Audit Plugin can automatically rotate log file based on size. Set audit_log_rotate_size to enable this feature. File is rotated when log grew in size to specified amount of bytes. Set audit_log_rotations to limit the number of log files to keep.

    It is possible to log only logins or only queries by setting audit_log_policy value.

    Log file format
    Lets see how audit records look like

    OLD format (audit_log_format = OLD):

    "NAME"="Connect"

    "RECORD"="2_2014-04-21T12:34:32"

    "TIMESTAMP"="2014-04-21T12:34:32 UTC"

    "CONNECTION_ID"="1"

    "STATUS"="0" "USER"="root"

    "PRIV_USER"="root"

    "OS_LOGIN"=""

    "PROXY_USER"=""

    "HOST"="localhost"

    "IP"="" "DB"=""/>

    NEW format (audit_log_format = NEW):

     Connect 17481_2014-04-21T12:39:03 2014-04-21T12:39:05 UTC 4 0 root root   localhost  test

    Connect

    17481_2014-04-21T12:39:03

    2014-04-21T12:39:05 UTC

    4

    0

    root

    root

    localhost

    test

    The difference is that the audit record in the OLD format was written as a single element with attributes, while in the NEW format it is written as a single element with sub-elements.

    A good idea of what each sub-element means can be found in Audit Plugin API documentation here:https://dev.mysql.com/doc/refman/5.6/en/writing-audit-plugins.html.

    Performance
    Lets compare performance of different audit_log_strategy modes. I used readonly sysbench on my laptop for it. Workload is CPU-bound with dataset fit in buffer pool and I set number of sysbench threads to the amount for which count of transactions per seconds is maximum.

    sysbench TPS for Percona Audit Log Plugin

    I got TPS drop for PERFORMANCE and ASYNCHRONOUS strategies around 7%, 9% for SEMISYNCHRONOUS and 98% for SYNCHRONOUS which shows that syncing every logged statement to disk is not the best thing for performance.

    Conclusion
    Of course any software has bugs and this plugin has plenty of them. Please give it a try and provide us your feedback. Report any issues here:https://bugs.launchpad.net/percona-server.

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    IntroductiontothePerconaMySQLAuditLogPlugin_MySQL

    IntroductiontothePerconaMySQLAuditLogPlugin_MySQL:Percona has developed a MySQL Audit Log plugin that is now included in Percona Server since the recent5.5and5.6releases. This implementation is alternative to the MySQL Enterprise Audit Log Plugin: Percona re-implemented the Audit Plugin co
    推荐度:
    标签: the to mysql
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top