How to log all MySQL queries in Drupal
In order to benchmark a Drupal site performance you need to see all the database queries related to your Drupal site.
In case you don’t have access to the my.cnf file
If you don’t have access to the my.cnf file, you can log the queries from the Drupal code itself:
cp includes/database.mysql-common.inc includes/database.mysql-common.inc.backup.orig vim includes/database.mysql-common.inc
At function db_query, just before the return clause, write:
This will write all the queries Drupal uses for calculating its pages.
Be careful and use it with wisdom, as it might blow your error_log file.
To stop the queries logging process, overwrite the includes/database.mysql-common.inc file with the original.
cp includes/database.mysql-common.inc.backup.orig includes/database.mysql-common.inc
In case you have access to the my.cnf file
If you have access to the my.cnf file, you need to set the log parameter (at the my.cnf file):
log = /var/log/mysql/mysql-queries.log
The output will be at
Please remember to shut the log off after you have finished, or it could hurt your site performance.
See MySQL queries log analyzing