MySQL 모니터링 · 2 min read · Sep 12, 2025

mytop으로 MySQL 연결 및 쿼리 모니터링하기

이 문서에서는 MySQL 쿼리를 실시간으로 모니터링하기 위한 유용한 도구인 mytop의 설치 및 사용법을 설명합니다. 또한 mytop에서 쿼리를 모니터링하는 동안 사용자가 수행할 수 있는 다양한 작업을 살펴봅니다.

mytop에 대하여

Mytop은 MySQL을 모니터링하기 위한 top 명령과 유사한 명령줄 도구입니다. MySQL 3.22 이상이 필요하며, 현재 MySQL 5.x 버전이 지원됩니다. 대부분의 Linux 시스템에서 잘 작동합니다. 이 튜토리얼에서는 Ubuntu를 기준으로 사용합니다. 시스템에 Perl, DBI 및 Term::ReadKey가 설치되어 있어야 합니다. Term::ANSIColor를 사용하면 출력에 색상을 추가할 수 있습니다. 버전 0.7은 Windows에서도 작동합니다.

설치

이미 mytop의 기능에 필요한 다른 도구 및 애플리케이션에 대한 정보를 제공했으므로, mytop의 설치를 직접 시작하겠습니다:

Debian:

apt-get install mytop

Ubuntu:

sudo apt-get install mytop

또는 웹사이트에서 tar 볼을 다운로드하여 설치하려면:

tar -zxvf mytop-x.x.x.tar.gz (버전 번호 입력)  
 cd mytop-x.x.x. (버전 번호 입력)  
 perl Makefile.PL  
 make  
 make test  
 make install

위의 명령어를 입력하여 데이터를 추출하고 설치를 완료하세요. CentOS 및 RedHat 사용자들은 자동으로 설치하기 위해 rpmforge 저장소를 다운로드해야 하며, 그렇지 않으면 수동 방법으로 진행할 수 있습니다.

mytop 사용하기

설치 후, mytop을 사용할 시간입니다:

mytop --prompt (이 명령은 비밀번호 프롬프트를 표시합니다. 그냥 엔터를 누르면 됩니다.)

위의 방법이 기본 방법이며, 다음과 같이 입력할 수도 있습니다:

mytop -u root -p (여기서 MySQL 비밀번호를 입력해야 합니다. "root" 사용자를 지정하고 있습니다.)

위 명령이 “root : NO PASS”와 같은 오류를 반환하면 다음을 시도하세요:

mytop -u root -p xxxx ("xxxx"는 비밀번호를 나타냅니다.)

위의 명령어를 입력하기 전에 MySQL 서버가 실행 중인지 확인하세요.
작업이 완료되면 엔터를 누르면 다음과 같은 결과가 반환됩니다:

첫 번째 줄은 서버의 이름(로컬호스트)과 시스템에서 실행 중인 MySQL의 버전을 나타냅니다. 파란색으로 표시된 줄은 MySQL 서버의 가동 시간(일+시간:분:초 형식)을 나타내며, 그 옆에는 시스템의 현재 시간이 표시됩니다.
두 번째 줄은 서버가 가동된 이후 처리한 쿼리 수를 나타냅니다.
세 번째 줄은 스레드 수를 표시합니다.
이미지의 두 번째 부분은 MySQL이 처리한 스레드 목록을 보여줍니다. 이들은 유휴 시간에 따라 정렬되어 있으며, 가장 유휴한 것부터 표시됩니다. 정보를 쉽게 이해할 수 있습니다.

mytop과 함께 전달할 수 있는 몇 가지 인수가 있습니다:
-u 또는 사용자 이름: mytop에 로그인할 때 사용자 이름을 정의하는 데 사용됩니다. 기본값은 “root”로 설정되어 있습니다.

-p 또는 비밀번호: 사용자 로그인을 위한 비밀번호입니다. 기본 비밀번호는 비어 있거나 없거나 비밀번호 필드를 비워 두는 것입니다.

-h 또는 호스트 호스트이름[:포트]: MySQL이 기본 포트를 사용하지 않는 경우 포트를 지정합니다. 기본값은 3306으로 설정되어 있습니다.

-s 또는 -delay 초: 새로 고침 간격을 지정합니다. 기본값은 5입니다.
mytop의 인수에 대해 더 알아보려면 다음을 입력할 수 있습니다:

man mytop

man 페이지에는 mytop에 대한 모든 정보를 이해하는 데 충분한 정보가 포함되어 있습니다.
자신을 위해 쉽게 데이터에 접근하고 모니터링할 수 있도록 구성 파일을 살펴보세요:

  user=root         #정의하고 싶은 사용자입니다.
  pass=             #사용자를 위한 비밀번호를 정의할 수 있습니다.
  host=localhost     #호스트 이름입니다.
  db=test            #데이터베이스 이름입니다.
  delay=5           #모니터링 출력 새로 고침 간격입니다.
  port=3306         #mytop이 사용할 포트입니다.
  socket=           #소켓을 지정하면 mytop은 주어진 포트 번호와 호스트 이름을 무시합니다. 유용하지 않다면 삭제할 수 있습니다.
  batchmode=0      #화면 지우기를 방지하고 MySQL이 사용하는 쿼리의 직접적인 시리즈를 제공합니다.
  header=1         #헤더를 표시할지 여부를 지정합니다. mytop이 실행 중일 때 h 키로 전환할 수 있습니다.
  color=1          #디스플레이에 색상을 사용할지 여부를 지정합니다(색상 지원이 있는 경우에만 작동합니다).
  idle=1           #프로세스 목록에서 유휴 프로세스를 보고 싶을 경우입니다.
  

위의 파일은 다음을 입력하여 생성할 수 있습니다:

nano ~/.mytop (이 파일은 홈 폴더에 생성되어야 하며, 원하는 편집기를 사용할 수 있습니다.)

mytop에서 다른 옵션을 확인하려면 ?를 입력하세요. mytop에서 사용할 수 있는 키보드 단축키 전체 페이지가 표시됩니다.

이것이 튜토리얼의 모든 내용입니다. 앞서 언급한 대로 man 페이지를 확인할 수 있습니다. 설치 후 최신 정보를 얻을 수 있습니다…

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.