Turn on MySQL query logging in Magento

in Tools

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 file. To change this, edit the $_debugFile variable in the same file.

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.

0