Задача - Нужно проанализировать запросы только в текущий момент без ребута мускуля.
На опеннете предложили через tcpdump - но это , имхо, изврат..
Знаю есть опция mysql> set global general_log = on; которая позволяет сливать в лог историю запросов - но в версии 5.1.22 стоит ограничение на длину запроса в логе ..В поздней версии это пофиксили . Но пересобирать мускуль очень не хочется..
ЗЫ uname -a
FreeBSD 6.3-RELEASE FreeBSD 6.3-RELEASE #0
Временное ведение лога всех запросов к MySQL
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- ст. сержант
- Сообщения: 309
- Зарегистрирован: 2008-05-30 12:11:16
- Откуда: kiev
- Контактная информация:
Временное ведение лога всех запросов к MySQL
Последний раз редактировалось 100matolog 2009-07-05 11:15:08, всего редактировалось 2 раза.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: * Редактировать сообщение * Пожаловаться на это со
чего?100matolog писал(а):Господа - кто как делает сабж?

100matolog писал(а):На опеннете предложили через tcpdump - но это , имхо, изврат..

100matolog писал(а):Знаю есть опция mysql> set global general_log = on; - но в версии 5.1.22 стоит ограничение на длину лога..В поздней версии это пофиксили . Но пересобирать мускуль очень не хочется..

можно ещё раз тоже самое, только полным текстом?

-
- ст. сержант
- Сообщения: 309
- Зарегистрирован: 2008-05-30 12:11:16
- Откуда: kiev
- Контактная информация:
Re: Временное ведение лога всех запросов к MySQL
что-то где-то глюкнуло
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Временное ведение лога всех запросов к MySQL
тут есть трудности100matolog писал(а):Задача - Нужно проанализировать запросы только в текущий момент без ребута мускуля.
Код: Выделить всё
zg# mysql -e 'select @@log;'
+-------+
| @@log |
+-------+
| 0 |
+-------+
zg# mysql -e 'set @@log="/var/db/mysql/query.log";'
ERROR 1238 (HY000) at line 1: Variable 'log' is a read only variable
zg#
Код: Выделить всё
zg# grep mysql /etc/rc.conf
mysql_enable="YES"
mysql_args="--log=/var/db/mysql/query.log"
zg# pwd
/var/db/mysql
zg# ls -lah
total 20544
drwx------ 4 mysql mysql 512B 5 июл 13:36 .
drwxr-xr-x 11 root wheel 512B 5 июл 00:00 ..
-rw-rw---- 1 mysql mysql 5,0M 5 июл 13:36 ib_logfile0
-rw-rw---- 1 mysql mysql 5,0M 4 июл 15:10 ib_logfile1
-rw-rw---- 1 mysql mysql 10M 5 июл 13:36 ibdata1
drwx------ 2 mysql mysql 1,5K 4 июл 15:06 mysql
-rw-rw---- 1 mysql mysql 177B 5 июл 13:36 query.log
drwx------ 2 mysql mysql 512B 4 июл 15:06 test
-rw-rw---- 1 mysql mysql 3,2K 5 июл 13:36 zg.test.local.err
-rw-rw---- 1 mysql mysql 4B 5 июл 13:36 zg.test.local.pid
zg# cat query.log
/usr/local/libexec/mysqld, Version: 5.0.77-log (FreeBSD port: mysql-server-5.0.77_1). started with:
Tcp port: 0 Unix socket: (null)
Time Id Command Argument
zg# mysql -e 'show variables' > /dev/null
zg# cat query.log
/usr/local/libexec/mysqld, Version: 5.0.77-log (FreeBSD port: mysql-server-5.0.77_1). started with:
Tcp port: 0 Unix socket: (null)
Time Id Command Argument
090705 13:36:40 1 Connect root@localhost on
1 Query select @@version_comment limit 1
1 Query show variables
1 Quit
zg#
-
- полковник
- Сообщения: 5845
- Зарегистрирован: 2007-12-07 13:51:33
- Откуда: Верх-Нейвинск
Re: Временное ведение лога всех запросов к MySQL
http://dev.mysql.com/doc/refman/5.1-mar ... eneral_log
гм... в 5.1.22 может проканать
но в любом случае надо ещё использовать попробуй, может пройдёт фокус. Ну а на счёт ограничений... попробуй, вдруг найдёшь то, что ищешь
В конце концов, есть такая примочка http://dev.mysql.com/doc/refman/5.1-mar ... ow-queries
Код: Выделить всё
Version Introduced 5.1.12
Command Line Format --general-log
Config File Format general-log
Option Sets Variable Yes, general_log
Variable Name general_log
Variable Scope Global
Dynamic Variable Yes
Value Set Type boolean
Default OFF
Whether the general query log is enabled. The value can be 0 (or OFF) to disable the log or 1 (or ON) to enable the log. The default value depends on whether the --general_log option is given (--log before MySQL 5.1.29). The destination for log output is controlled by the log_output system variable; if that value is NONE, no log entries are written even if the log is enabled. The general_log variable was added in MySQL 5.1.12.

Код: Выделить всё
general_log_file Version Introduced 5.1.12
Command Line Format --general-log-file=file_name 5.1.29
Config File Format general_log_file 5.1.29
Option Sets Variable Yes, general_log_file
Variable Name general_log_file
Variable Scope Global
Dynamic Variable Yes
Value Set Type filename
Default host_name.log
The name of the general query log file. The default value is host_name.log, but the initial value can be changed with the --general_log_file option (--log before MySQL 5.1.29). This variable was added in MySQL 5.1.12.

В конце концов, есть такая примочка http://dev.mysql.com/doc/refman/5.1-mar ... ow-queries
Код: Выделить всё
--log-slow-queries[=file_name] Command Line Format --log-slow-queries[=name]
Config File Format log-slow-queries
Option Sets Variable Yes, log_slow_queries
Variable Name log_slow_queries
Variable Scope Global
Dynamic Variable Yes
Value Set Type boolean
This option enables logging to the slow query log, which contains entries for all queries that have taken more than long_query_time seconds to execute. See the descriptions of the --log-long-format and --log-short-format options for details.
The log output destination can be selected with the --log-output option as of MySQL 5.1.6. Before 5.1.6, logging occurs to the slow query log file. If you omit the file name, MySQL uses host_name-slow.log as the file name. See Section 5.2.1, “Selecting General Query and Slow Query Log Output Destinations”, and Section 5.2.5, “The Slow Query Log”.
As of MySQL 5.1.29, the --log-slow-queries option is deprecated and will be removed (along with the log_slow_queries system variable) in MySQL 7.0. Instead, use the --slow_query_log option to enable the slow query log and the --slow_query_log_file=file_name option to set the slow query log file name.