From c4f47345a588b15d83ebc5584c8698843b568a40 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Sat, 25 Jan 2014 01:10:31 +0000 Subject: [PATCH] Make MySQL query logging optional * lib/databases/mysql: Wrap query log configuration in a check for a ENABLE_QUERY_LOGGING variable. * stackrc: Add the DATABASE_QUERY_LOGGING variable defaulted to True. Change-Id: Iddf8538ad0a1e36e2c6944dc70315984026c8245 --- lib/databases/mysql | 29 +++++++++++++++++------------ stackrc | 3 +++ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/lib/databases/mysql b/lib/databases/mysql index 0eb8fdd7a2..476b4b91b7 100644 --- a/lib/databases/mysql +++ b/lib/databases/mysql @@ -87,20 +87,25 @@ function configure_database_mysql { default-storage-engine = InnoDB" $MY_CONF fi - # Turn on slow query log - sudo sed -i '/log.slow.queries/d' $MY_CONF - sudo sed -i -e "/^\[mysqld\]/ a \ -log-slow-queries = /var/log/mysql/mysql-slow.log" $MY_CONF + if [[ "$DATABASE_QUERY_LOGGING" == "True" ]]; then + echo_summary "Enabling MySQL query logging" - # Log all queries (any query taking longer than 0 seconds) - sudo sed -i '/long.query.time/d' $MY_CONF - sudo sed -i -e "/^\[mysqld\]/ a \ -long-query-time = 0" $MY_CONF + # Turn on slow query log + sudo sed -i '/log.slow.queries/d' $MY_CONF + sudo sed -i -e "/^\[mysqld\]/ a \ + log-slow-queries = /var/log/mysql/mysql-slow.log" $MY_CONF - # Log all non-indexed queries - sudo sed -i '/log.queries.not.using.indexes/d' $MY_CONF - sudo sed -i -e "/^\[mysqld\]/ a \ -log-queries-not-using-indexes" $MY_CONF + # Log all queries (any query taking longer than 0 seconds) + sudo sed -i '/long.query.time/d' $MY_CONF + sudo sed -i -e "/^\[mysqld\]/ a \ + long-query-time = 0" $MY_CONF + + # Log all non-indexed queries + sudo sed -i '/log.queries.not.using.indexes/d' $MY_CONF + sudo sed -i -e "/^\[mysqld\]/ a \ + log-queries-not-using-indexes" $MY_CONF + + fi restart_service $MYSQL } diff --git a/stackrc b/stackrc index 49fb26b2c7..276ce33970 100644 --- a/stackrc +++ b/stackrc @@ -59,6 +59,9 @@ elif [[ -f $RC_DIR/.localrc.auto ]]; then source $RC_DIR/.localrc.auto fi +# This can be used to turn database query logging on and off +# (currently only implemented for MySQL backend) +DATABASE_QUERY_LOGGING=$(trueorfalse True $DATABASE_QUERY_LOGGING) # Repositories # ------------