# 📊 آموزش کامل مانیتورینگ پایگاهداده MySQL با ابزار mytop در لینوکس
مدیریت عملکرد و مانیتورینگ دیتابیس MySQL یکی از وظایف مهم مدیران سیستم است. ابزار **mytop** مشابه دستور `top` در لینوکس عمل میکند، اما مخصوص بررسی وضعیت اتصالها، کوئریها، لاکها و عملکرد کلی MySQL است.
---
## 🧰 mytop چیست؟
`mytop` یک ابزار خط فرمان است که برای مانیتورینگ زندهی سرور MySQL طراحی شده و اطلاعاتی مانند:
* تعداد اتصالهای فعال
* کوئریهای در حال اجرا
* وضعیت replication
* کاربران و Threadهای فعال
را به صورت لحظهای نمایش میدهد.
---
## 🧱 پیشنیازها
* نصب MySQL یا MariaDB
* پیکربندی فایل `.my.cnf` یا وارد کردن اطلاعات اتصال هنگام اجرای mytop
---
## 🔧 نصب mytop در توزیعهای مختلف لینوکس
### ✅ در Debian / Ubuntu:
```bash
sudo apt update
sudo apt install mytop
```
---
### ✅ در RHEL / CentOS / AlmaLinux:
```bash
sudo yum install epel-release
sudo yum install mytop
```
---
### ✅ در Fedora:
```bash
sudo dnf install mytop
```
---
### ✅ در Arch Linux:
```bash
sudo pacman -S mytop
```
---
## 🛠️ اجرای اولیه
اگر فایل پیکربندی `.my.cnf` را ندارید، میتوانید بهصورت مستقیم اجرا کنید:
```bash
mytop -u root -p -h 127.0.0.1
```
یا با فایل پیکربندی امنتر است:
---
## 🗂️ ساخت فایل پیکربندی امن در Home:
محتویات فایل: `~/.my.cnf`
```ini
[client]
user=root
password=YourSecurePassword
host=127.0.0.1
```
سپس اجرا:
```bash
mytop
```
> ⚠️ برای امنیت بیشتر، سطح دسترسی فایل را محدود کنید:
```bash
chmod 600 ~/.my.cnf
```
---
## 📋 آشنایی با خروجی mytop
هنگام اجرای mytop، شما موارد زیر را خواهید دید:
| فیلد | توضیح |
| ------------------------ | -------------------------------- |
| `Uptime` | مدت زمان روشن بودن سرور MySQL |
| `Threads` | تعداد connection فعال |
| `Questions` | تعداد کل کوئریهای اجرا شده |
| `Slow queries` | تعداد کوئریهای کند |
| `Opens` | تعداد باز شدن جدولها یا فایلها |
| `Flush tables` | عملیات پاکسازی کشها |
| `Queries per second avg` | میانگین تعداد کوئری بر ثانیه |
---
## 🎛️ کلیدهای کاربردی در محیط mytop
| کلید | عملکرد |
| ---- | --------------------------------- |
| `q` | خروج از mytop |
| `c` | نمایش/عدم نمایش کوئریها |
| `u` | تغییر کاربر |
| `h` | کمک و راهنما |
| `r` | مرتبسازی بر اساس تعداد کوئری |
| `i` | تغییر حالت Refresh (فعال/غیرفعال) |
---
## 💡 نکات مهم
* برای استفاده در محیطهای تولیدی، دسترسی کاربری mytop را فقط خواندنی تنظیم کنید.
* از طریق گزینه `--interval=N` میتوانید زمان Refresh را تعیین کنید (مثلاً هر 5 ثانیه):
```bash
mytop --interval=5
```
---
## ✅ نتیجهگیری
ابزار **mytop** ساده، سبک و بسیار مؤثر برای مشاهده زنده وضعیت MySQL است. این ابزار میتواند در مانیتورینگ، شناسایی کوئریهای سنگین، و عیبیابی اتصالها بسیار مفید باشد.