List:Internals« Previous MessageNext Message »
From:Adam Liverman Date:June 21 2007 5:22pm
Subject:[PATCH] new feature for General Log (PCI compliance)
View as plain text  
Hi,

My company is working on PCI compliance and a situation arose where we need logging
enabled on our MySQL servers.  To my knowledge the only way to do this is to turn on
the General query log. 

Unfortunately doing this would cause all sorts of performance hits as the database servers
handle a lot of queries from the website and makes maintaining/scanning through them a
real issue. (1-2gigabyte file in an hour or so)

To alleviate these issues I changed the source to allow two new options:

#Comma separated list of accounts at hosts (ex: root@stripped) to ignore from the general
query log.
general_query_log_ignore_accounts  = "someaccount@stripped;someaccount@stripped"

#Ignore replication logs in general log
general_query_log_ignore_replication


The first option allows you to configure a group of accounts at a certain host/ip to be
ignored from the log. For us our website uses a specific account, thus we add that
account to the first part of the list. 

The second option disables the writing to the log from the primary slave thread. 

If an account is setup to be ignored, it is ignored, except on an unsuccessful login
attempt. That is logged regardless of if the account is ignored or not.

Performance hit for enabling the features is minimal, 1-2% increase in load.

Would this be a useful addition to the MySQL base?

-Adam Liverman

Software Developer
Fire Mountain Gems

Thread
[PATCH] new feature for General Log (PCI compliance)Adam Liverman21 Jun
  • Re: [PATCH] new feature for General Log (PCI compliance)Jay Pipes21 Jun