# 📈 آموزش نصب و استفاده از Mtop برای مانیتورینگ سرور MySQL در لینوکس
ابزار **Mtop** یکی دیگر از ابزارهای سبک و کاربردی در لینوکس برای مانیتورینگ زنده پایگاهداده MySQL است. این ابزار به مدیران سیستم کمک میکند تا:
* وضعیت عملکرد MySQL
* تعداد connectionها
* وضعیت queryهای در حال اجرا
* table lockها
را در لحظه بررسی کنند.
---
## 🧰 Mtop چیست؟
**Mtop (MySQL Top)** مانند دستور `top` در لینوکس عمل میکند اما برای MySQL. این ابزار اطلاعات را با استفاده از دستور `SHOW PROCESSLIST` استخراج کرده و در قالبی گرافیکی ساده در ترمینال نمایش میدهد.
---
## ⚙️ پیشنیازها
* یک سرور لینوکسی با MySQL/MariaDB نصبشده
* Perl (چون Mtop با Perl نوشته شده)
* کتابخانههای Perl مانند: `DBI` و `DBD::mysql`
---
## 🛠️ مراحل نصب Mtop در لینوکس
### ✅ ۱. نصب پیشنیازها
#### 🔹 در Debian/Ubuntu:
```bash
sudo apt update
sudo apt install mtop libdbi-perl libdbd-mysql-perl
```
#### 🔹 در RHEL/CentOS:
```bash
sudo yum install epel-release
sudo yum install mtop perl-DBI perl-DBD-MySQL
```
#### 🔹 در Arch Linux:
```bash
yay -S mtop
```
---
### ✅ ۲. اتصال به سرور MySQL
برای اجرای mtop، باید اطلاعات اتصال را وارد کنید. اگر از فایل پیکربندی استفاده نمیکنید:
```bash
mtop --user=root --pass=YourPassword --host=127.0.0.1
```
> ⚠️ بهجای `YourPassword` رمز عبور واقعی قرار دهید.
---
## 🧾 ایجاد فایل تنظیمات برای اجرای سادهتر
در مسیر خانه کاربر یک فایل با نام `.mtop` بسازید:
```bash
nano ~/.mtop
```
محتوا:
```ini
user=root
pass=YourPassword
host=127.0.0.1
db=mysql
```
سطح دسترسی فایل را محدود کنید:
```bash
chmod 600 ~/.mtop
```
اجرای ساده:
```bash
mtop
```
---
## 🧪 خروجی و عملکرد mtop
هنگام اجرا، `mtop` موارد زیر را نشان میدهد:
* Threadهای فعال و تعدادشان
* Queryهای در حال اجرا
* نوع Queryها (SELECT, INSERT, UPDATE...)
* وضعیت replication در صورت فعال بودن
* نمایش زمان اجرای query و وضعیت lock
---
## 🎛️ کلیدهای میانبر مهم در محیط Mtop
| کلید | عملکرد |
| ---- | --------------------------- |
| `q` | خروج از برنامه |
| `r` | مرتبسازی بر اساس زمان اجرا |
| `u` | مرتبسازی بر اساس کاربر |
| `t` | مرتبسازی بر اساس نوع query |
| `h` | نمایش راهنمای کلیدها |
---
## 🧠 نکات مهم و امنیتی
* برای امنیت بیشتر از کاربر MySQL با مجوزهای فقط خواندنی استفاده کنید.
* در محیطهای پر بار، اجرای طولانیمدت mtop میتواند خود باعث بار شود.
* اگر با ارورهایی مانند عدم دسترسی یا خطا در کتابخانهها مواجه شدید، نصب مجدد یا آپدیت Perl و ماژولهای آن را بررسی کنید.
---
## ✅ نتیجهگیری
**Mtop** ابزاری سبک، متنی و بسیار مفید برای مانیتورینگ زندهی سرور MySQL است. اگر به دنبال مانیتورینگ لحظهای بدون نیاز به رابط گرافیکی هستید، Mtop میتواند گزینهای ایدهآل برای سرورهای لینوکسی شما باشد.