How to Enable MySQL Query Logging for Magento 1.x
Sometimes when debugging complex performance issues, it can be useful to log all database queries to a log file.
Superusers are used to do this changing the query logging settings of the MySQL server.
As enabling this requires root permissions, this functionality is not available to Hypernode users.
Luckily Magento provides it’s own mechanism to log all queries in a log file.
Enabling Query Debug Logging in Magento
To turn on Magento’s own query logging mechanism, edit /data/web/public/lib/Varien/Db/Adapter/Pdo/Mysql.php:
Now look for the line containing $_debug
and change false
to true
:
protected $_debug = true;
Sometimes you need to flush your cache before the first queries are logged.
Log Destination
By default, Magento logs to the /data/web/public/var/debug/pdo_mysql.log
Warning: Turning query logging on is very resource intensive and causes the show to slow down considerably! Don’t forget to change $_debug
to false
when you are done debugging your issue.