Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> สมาร์ทโฟน >> Linux

วิธี Monitor MySQL แบบ Real-time ด้วย mytop

คู่มือนี้แนะนำ mytop - เครื่องมือ monitor MySQL แบบ Real-time คล้าย top/htop แต่สำหรับ MySQL

คุณสมบัติ mytop

  • เขียนด้วย Perl โดย Jeremy Zawodny
  • แสดง: Queries/sec, Slow queries, Key efficiency, Process list
  • รันบน Terminal ไม่ต้องการ GUI
  • ฟรีและ Open Source

ข้อกำหนดเบื้องต้น

  • MySQL Server ทำงานอยู่
  • Perl modules: DBI, DBD::mysql, Term::ReadKey, Getopt::Long
  • ติดตั้ง: sudo apt install mytop (Ubuntu/Debian) หรือ sudo dnf install mytop (Fedora/RHEL)

การใช้งานพื้นฐาน

# mytop -h dbserver -u dbuser -p dbpassword

ตัวอย่างผลลัพธ์

MySQL on dbserver (5.0.37) up 50+17:53:46 [13:20:38]
Queries: 2.5G qps: 609 Slow: 0.0 Se/In/Up/De(%): 01/00/00/00
Key Efficiency: 99.8% Bps in/out: 0.0/ 0.0

 Id      User     Host/IP       DB      Time  Cmd  Query or State
 --      ----     -------       --      ----  ---  --------------
 9570443 dbuser   192.168.10.9  appdb   0     Prepar
 9575575 dbuser   192.168.10.9  appdb   0     Sleep
 9576920 dbuser   192.168.10.9  appdb   0     Sleep
 9593343 dbuser   192.168.10.4  appdb   0     Sleep
 9601720 dbuser   192.168.10.3  appdb   0     Query show full processlist

คีย์ลัดขณะรัน mytop

ตัวเลือกบรรทัดคำสั่ง

mytop -h localhost -u root -p password -d database_name -s 5
# -s 5 = refresh ทุก 5 วินาที (default 5)
# -b = batch mode (สำหรับสคริปต์/redirect output)

ทางเลือกทันสมัยกว่า

  • pmm (Percona Monitoring and Management) - Web-based, เก็บประวัติ, Alerting
  • mysqltuner.pl - วิเคราะห์การตั้งค่า MySQL ให้คำแนะนำ
  • innotop - คล้าย mytop แต่โฟกัส InnoDB
  • Grafana + Prometheus + mysqld_exporter - Enterprise monitoring stack

mytop เป็นเครื่องมือที่เบา รวดเร็ว เหมาะสำหรับตรวจสอบปัญหา MySQL ทันทีบน Terminal

คีย์การทำงาน
?แสดง Help
qQuit
sตั้งค่า Refresh interval (วินาที)
dเลือก Database
uกรองตาม User
hToggle show/hide idle (Sleep) processes
kKill query (ต้องมีสิทธิ์ SUPER)
fแสดง Full query text