홈페이지 » 어떻게 » MySQL의 모든 SQL 쿼리 모니터링

    MySQL의 모든 SQL 쿼리 모니터링

    Microsoft의 SQL Server에는 Profiler라는 도구가 있는데이 도구를 사용하여 데이터베이스를 치는 모든 SQL 쿼리를 모니터링 할 수 있습니다. 이것은 프로그래머와 데이터베이스 관리자가 응용 프로그램에서 생성 된 정확한 쿼리의 문제를 해결하는 데 매우 유용합니다..

    MySQL을 자주 사용하기로 바꾼 것은 이것이 어떻게 수행되는지 알아 내려고했던 첫 번째 일 중 하나였습니다. WordPress 또는 phpBB에 의해 생성 된 실제 SQL 코드를 어떻게 볼 수 있습니까??

    가장 먼저해야 할 일은 MySQL에서 쿼리 로깅을 활성화하는 것입니다. 이 작업은 개발 중에 만 수행되어야한다는 사실을 명심하십시오. 모든 쿼리를 파일에 기록하기가 정말 느려집니다..

    MySQL 설정 파일, 보통 우분투의 /etc/mysql/my.cnf를 찾아 엽니 다. "로깅 및 복제"섹션을 찾으십시오.

    #
    # * 로깅 및 복제
    #
    # 두 위치 모두 cronjob에 의해 회전됩니다..
    #이 로그 유형은 성능 저하 요인이라는 점에 유의하십시오..

    log = /var/log/mysql/mysql.log

    로깅을 활성화하려면 "log"변수의 주석 처리를 제거하십시오. 다음 명령으로 MySQL을 다시 시작하십시오.

    sudo /etc/init.d/mysql restart

    이제 쿼리가 들어올 때 모니터링을 시작할 준비가되었습니다. 새 터미널을 열고이 명령을 실행하여 로그 파일을 스크롤하고 필요한 경우 경로를 조정합니다..

    tail -f /var/log/mysql/mysql.log

    이제 응용 프로그램을 실행하십시오. 터미널 창에서 데이터베이스 쿼리가 시작되는 것을 볼 수 있습니다. (터미널에서 스크롤링 및 히스토리를 사용 가능하게 설정했는지 확인하십시오)

    나는 감동했다, phpbb3는 상당히 타이트하고 최적화 된 SQL 코드를 가지고있다. 반면 WordPress는 매우 비효율적입니다..