diff --git a/docs/dev-tools/debugging.md b/docs/dev-tools/debugging.md index 3c0295a84de973890a84aa5fe59bee7eb05accc6..e4ffa144f21ad22a105ffd527a59f88d3145a831 100644 --- a/docs/dev-tools/debugging.md +++ b/docs/dev-tools/debugging.md @@ -84,11 +84,31 @@ The following values can be added to your site's settings file `civicrm.settings ## Viewing a query log from MySQL -Outside of CiviCRM, the MySQL database software has features to enable the logging of all queries it receives. - -*TODO: how do we enable?* - - +Outside of CiviCRM, the MySQL general query log allows MySQL to log all queries. This is a performance killer, so avoid using it in production! + +* [MySQL reference: General Query Log](https://dev.mysql.com/doc/refman/en/query-log.html) + +The relevant settings are: + + # Location of the query log + general_log_file=/tmp/mysql.log + # Enable/disable the query log + general_log=1 + +You can enable the query log at runtime via SQL, provided the path to the logfile is configured. + + SET GLOBAL general_log = 'ON'; + SET GLOBAL general_log = 'OFF'; + +And you can inspect the query log settings also: + + mysql> show variables like '%general%'; + +------------------+---------------------------------+ + | Variable_name | Value | + +------------------+---------------------------------+ + | general_log | OFF | + | general_log_file | /usr/local/var/mysql/strike.log | + +------------------+---------------------------------+ ## Changing source code