Как просмотреть обработанный (необработанный) запрос из подготовленного MySQLi оператора? - PullRequest
4 голосов
/ 18 августа 2011

Я создаю класс журналирования для моего приложения PHP / MySQLi. Я, очевидно, могу записать необработанный подготовленный оператор (с вопросительными знаками), но без его синтаксического анализа вручную, есть ли в любом случае фактический необработанный запрос, выполненный в MySQL?

Спасибо!

Ответы [ 2 ]

1 голос
/ 18 августа 2011

Включите ведение журнала запросов в MySQL и следите за файлом журнала запросов mysql.

В файле my.cnf или my.ini в разделе mysqld добавьте директиву:

log = /path/to/my/log/file
0 голосов
/ 18 августа 2011

Существует много способов просмотра «сырых» запросов, отслеживания портов с помощью tcpdump, mysql-proxy или просмотра «mysqladmin -ppasswd« processlist »», хотя на короткое время вы можете сделать это:

Start:
echo "set global general_log_file=mysqllogfile;set global general_log=1;" | mysql -u root -ppasswd

From now on all queries will appear in /var/lib/mysql/mysqllogfile

Stop:
echo "set global general_log=0;" | mysql -u root -ppasswd

Не забудьте отключить, когда закончите!

Вы можете записать запросы в таблицу mysql.general_log:

echo "set global log_output=TABLE;" | mysql -u root -ppasswd
# restart logging
echo "set global general_log=0;" | mysql -u root -ppasswd
echo "set global general_log=1;" | mysql -u root -ppasswd

Обратите внимание, что просмотр таблицы general_log также вызывает ихобновлен!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...