2011-10-04 4 views
1

PHP 페이지를 탐색한다고 가정하면 어떤 데이터베이스 쿼리가 실행되는지 어떻게 알 수 있습니까? 내 문제를 해결할 수있는 .txt 파일에 모든 쿼리를 기록 할 수 있다고 생각합니다. 나는 기록하려했지만 실패했다. 난 그냥 쿼리 (SQL 문자열)을 알고 그것을 알고 싶어요.MySQL 쿼리를 모니터링하는 방법

저는 WinXP와 Apache를 사용하고 있습니다.

+3

원함 ... '원하지 않음' –

+0

알고 싶은 것은 ??? 어디 코드입니까 ?? – diEcho

+2

@diEcho 코드와 관련이 없으며 쿼리 로그를보고 싶습니다. – stivlo

답변

-3

은 바로 쿼리하기 전에 에코로 복사 mysql_query() 문자열을 붙여 넣습니다. 마지막으로 업데이트 된 파일에 대한

C:\Program Files\MySQL\MySQL Server 5.0\data 

봐 : 광산이었다 -

+0

왜 내 방법을 downvoted .. 쉬운 방법과 그것을 작동 ... – rickyduck

+0

이것은 수동 방식의 종류이기 때문에 당신이 그 코드를 입력 할 때만 사용할 수 있기 때문에, 당신이 필요로하는 큰 기존의 코드를 위해 그것을 사용할 수 없습니다 어떤 쿼리가 실행되었는지 알 수 있습니다. 또한 mysql은 이미 이것을위한 설정을 가지고있다. –

8

한 가지 방법은 my.cnf 구성 파일에 들어가 일반 로그를 활성화하는 것입니다. 성능 킬러가 암시되므로 프로덕션 환경에서는 절대로 활성화하지 마십시오. 하지만 개발은 완벽합니다. 내 노트북에 항상있다.

# 
# * Logging and Replication 
# 
# Both location gets rotated by the cronjob. 
# Be aware that this log type is a performance killer. 
# As of 5.1 you can enable the log at runtime! 
general_log_file  = /var/log/mysql/mysql.log 
general_log    = 1 
+0

이 구성이 완료되면 mysql을 다시 시작해야합니다. 또는 위에서 언급했듯이 런타임에 일시적으로 로그를 활성화 할 수 있습니다. mysql 쿼리를 실행하면 "SET global general_log = 'ON';" 그런 다음 general_log_file은 모든 쿼리를 기록합니다. – dxvargas

0

은 MySQL의 로그 파일 디렉토리를 찾습니다. 귀하의 COMPUTER.log의 이름이어야합니다 - 그것은 귀하의 기본 로그 파일이 될 것입니다 ** - MySQL은 일반적으로 기본 로깅이 가능한 IIRC와 함께 제공됩니다.

그렇다면 cnf 파일에서 로깅을 설정하고 Mysql 서비스를 다시 시작하십시오.

** 자신이 바탕 화면에서이 파일의 바로 가기로 만들려면 자주보고 있어야합니다.

파일이 너무 커지면 삭제하고 Mysql 서비스를 다시 시작하면 동일한 이름의 새 파일이 시작됩니다.

+0

광산 mysql5.1 - "데이터"라는 디렉터리를 찾을 수 없습니다 – cyhcyhhychyc

+0

/data라는 폴더에 대한 hdd 검색이 길고 느릴 수 있습니다. – Cups

관련 문제