|
Программирование >> Создание клиентов mysql
Журнальные файлы 449 В MySQL используется библиотека функций отладки, которую написал Фред Фиш (Fred Fish). Подробнее об отладке MySQL рассказтвается в глав1, Расширение возможностей MySQL . Журнал ошибок В журнале ошибок хранится информация о запуске и остановке сервера. Здесь же регистрируются сообщения об ошибках и предупреждения. Фрагмент журнала ошибок показан в листинге 2.53. Несложно узнать время, когда был запущен и остановлен сервер. В отчете сообщается о том, что два соединения с базой даннтх бхли прерваны в процессе остановки сервера. Это бхли постоянные соединения, созданнте РНР-сценарием, котор1й втполняется в локальной системе. Разр соединений не повлиял на работу сценария. 010605 12:36:32 mysqld started InnoDB: Started /usr/local/libexec/mysqld: ready for connections 010605 12:37:01 /usr/local/libexec/mysqld: Normal shutdown 010605 12:37:01 Aborted connection 1 to db: freetime user: httpd host: localhost (Got timeout reading communication packets) 010605 12:37:01 Aborted connection 2 to db: freetime user: httpd host: localhost (Got timeout reading communication packets) InnoDB: Starting shutdown... InnoDB: Shutdown completed 010605 12:37:01 /usr/local/libexec/mysqld: Shutdown Complete 010605 12:37:01 mysqld ended Журнал ошибок находится в каталоге даннтх. Его имя соответствует имени компьютера с добавлением расширения . err. Журнал MylSAM Чтобы включить журнал MylSAM, необходимо запустить сервер с опцией -log-is am. Разработчики MySQL используют этот журнал для отладки обработчика таблиц MylSAM. Журнальный файл создается в каталоге данных под именем myisam.log. Существует утилита mlод, предназначенная сбора статистической информации из этого файла (см. главу 14, Утилиты командной строки ). В листинге 24.10 показаны результаты работы этой утилиты. Commands Used count Errors open 2 5 0 write 9 0 Recover errors 0 0 update delete close extra Total 2 1 25 220 282 О О О Информация, хранящаяся в данном журнальном файе, представляет интерес только для разработчиков MySQL. Журнал запросов В журнале запросов регистрируются все запросы, посылаемые базе данных. Этот фай создается в каталоге данных, а его имя соответствует имени компьютера с добавлением расширение од. В листинге 24.11 показаны первые несколько записей такого журнала. Последняя колонка файла содержит длинные строки, поэтому я отформатировал их, чтобы они уместились на странице. /usr/local/libexec/mysqld. Version: 3.23.39-log, started with: Тер port: 3306 Unix socket: /tmp/mysql.sock Time 010605 11:51:45 mmand 1 Connect Statistics Init DB Query Argument httpd©localhost on freetime 1 Query 1 Query 1 Query 1 Query freetime delete from session where LastAction < 2001-06-05 03:51:45* SELECT User FROM session WHERE ID=fNbbnOLBYYlqesga UPDATE session SET LastAction = now() WHERE ID=fNbbnOLBYYlqesga DELETE FROM session WHERE ID <> fNbbnOLBYYlqesga AND User=2 SELECT * FROM user WHERE ID = 2 Журнал запросов не должен быть постоянно активен, так как он разрастается наиболее быстро. Инструкции регистрируются в том порядке, в каком они поступают на сервер. Этот порядок может отличаться от порядка втполнения инструкций. Журнал медленных запросов В журнале медленных запросов регистрируются инструкции, которые выполнялись слишком долго. Соответствующий предел задается в серверной переменной long query time. Если при запуске сервера была указана опция -log-long-format, то в данном журнале будут также фиксироваться запросы, в которых не используются индексы. Журнальный фай создается в каталоге данных, а его имя соответствует имени компьютера с добавлением расширения log. Журнальные файлы 451 С помощью данного журнала можно определить, какие запросы требуют оптимизации. Существует сценарий mysqldumpslow, позволяющий отобрать из файла самые медленные запросы. Применение этого сценария демонстрируется в листинге 24.12. В данном случае находятся три самых медленных запроса. # mysqldumpslo -S 3 red-slow, log Reading mysql slow query log from red-slow.log Count: 1 Time=1.00s (Is) Lock=O.OOs (Os) Rows=0.0 (0), httpd [httpd] (aiocalhost DELETE FRO t view WHER ect=N AND User=N Count: 1 Time=O.OOs (Os) Lock=O.OOs (Os) Rows=1.0 (1), httpd[httpd]@localhost SELECT count (*) FROM comment c, user u WHERE c.Project = N AND c.User = u. ID AND c. Permission <> N Count: 2 Time=O.OOs (Os) Lock=O.OOs (Os) Rows=0.0 (0), httpd[httpd]eiocalhost delete from session where LastAction < S Журнал обновлений Журнал обновлений применялся в старгх версиях MySQL и в настоящее время заменен двоичным журналом.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |