README.md•4.63 kB
# 🚀 MCP MySQL Server - Full Control Database Tool
**⚠️ CẢNH BÁO: Tool này có thể làm mất dữ liệu! Hãy cẩn thận khi sử dụng!**
MCP (Model Context Protocol) Server cho MySQL với quyền truy cập đầy đủ. Tool này được phát triển bởi AI và hướng dẫn bởi **kami2k1**.
## 📋 Tính năng
### 🔍 Truy vấn & Phân tích
- **Xem danh sách bảng**: Hiển thị tất cả bảng với thông tin chi tiết
- **Mô tả cấu trúc bảng**: Xem cột, kiểu dữ liệu, ràng buộc
- **Phân tích bảng**: Thống kê số hàng, kích thước, index
- **Thực thi SQL**: Chạy bất kỳ lệnh SQL nào
### 📝 Thao tác dữ liệu
- **Thêm dữ liệu**: Insert record mới
- **Cập nhật dữ liệu**: Update record theo điều kiện
- **Xóa dữ liệu**: Delete record theo điều kiện
- **Truy vấn tùy chỉnh**: SELECT với điều kiện phức tạp
### 🛠️ Quản trị hệ thống
- **Xem biến hệ thống**: SHOW VARIABLES
- **Backup bảng**: Tạo bản sao lưu
- **Tối ưu bảng**: OPTIMIZE TABLE
- **Quản lý user**: Tạo/xóa user MySQL
- **Cấp quyền**: GRANT/REVOKE permissions
## ⚙️ Cài đặt
### 1. Cài đặt dependencies
```bash
pip install -r requirements.txt
```
### 2. Cấu hình database
Tạo file `.env`:
```env
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_database
DEBUG=True
```
### 3. Cấu hình VS Code
Thêm vào `mcp.json`:
```json
{
"servers": {
"mysql-server": {
"command": "python",
"args": ["main_fastmcp_fixed.py"],
"cwd": "đường/dẫn/tới/thư/mục/này",
"env": {
"PYTHONPATH": "."
}
}
}
}
```
### 4. Khởi động server
```bash
python main_fastmcp_fixed.py
```
## 🎯 Cách sử dụng trong VS Code
### Xem cấu trúc database
```
Hãy hiển thị tất cả bảng trong database
```
### Truy vấn dữ liệu
```
Cho tôi xem 10 user đầu tiên trong bảng users
```
### Thêm dữ liệu
```
Thêm user mới với tên 'john', email 'john@example.com'
```
### Cập nhật dữ liệu
```
Cập nhật tên của user có id = 1 thành 'Jane Doe'
```
### Backup dữ liệu
```
Tạo backup của bảng users với tên users_backup
```
## ⚠️ CẢNH BÁO QUAN TRỌNG
### 🚨 Rủi ro cao
- Tool này có quyền **FULL ACCESS** vào MySQL
- Có thể **XÓA TOÀN BỘ DATABASE** nếu sử dụng sai
- Có thể **THAY ĐỔI CẤU TRÚC BẢNG** không thể khôi phục
- Có thể **XÓA USERS & PERMISSIONS** của MySQL
### 🛡️ Biện pháp an toàn
1. **LUÔN BACKUP** trước khi sử dụng
2. **KIỂM TRA KỸ** các lệnh SQL trước khi thực thi
3. **SỬ DỤNG USER** có quyền hạn chế, không dùng root
4. **TEST TRÊN DATABASE TEST** trước khi dùng production
5. **GIÁM SÁT** tất cả thay đổi được thực hiện
### 🚫 Không khuyến nghị
- Sử dụng trên database production quan trọng
- Để AI tự động thực thi lệnh mà không xem xét
- Cấp quyền root cho connection
- Sử dụng mà không hiểu SQL
## 🔧 Các tool có sẵn
| Tool | Mô tả | Mức độ rủi ro |
|------|-------|---------------|
| `get_tables` | Xem danh sách bảng | ✅ An toàn |
| `describe_table` | Xem cấu trúc bảng | ✅ An toàn |
| `analyze_table` | Phân tích bảng | ✅ An toàn |
| `execute_query` | Thực thi SQL | ⚠️ Rủi ro cao |
| `insert_data` | Thêm dữ liệu | ⚠️ Rủi ro trung bình |
| `update_data` | Cập nhật dữ liệu | 🚨 Rủi ro cao |
| `delete_data` | Xóa dữ liệu | 🚨 Rủi ro rất cao |
| `backup_table` | Backup bảng | ✅ An toàn |
| `optimize_table` | Tối ưu bảng | ⚠️ Rủi ro trung bình |
| `show_variables` | Xem biến hệ thống | ✅ An toàn |
## 👨💻 Thông tin phát triển
- **Được phát triển bởi**: AI Assistant
- **Hướng dẫn bởi**: kami2k1
- **Ngôn ngữ**: Python 3.12+
- **Framework**: FastMCP (Model Context Protocol)
- **Database**: MySQL/MariaDB
## 📞 Hỗ trợ
Nếu gặp vấn đề:
1. Kiểm tra logs trong terminal
2. Xác nhận cấu hình `.env` đúng
3. Đảm bảo MySQL server đang chạy
4. Kiểm tra quyền truy cập database
## 📜 License
Tool này được cung cấp "AS IS" không có bảo hành. Người sử dụng chịu trách nhiệm toàn bộ cho việc sử dụng tool.
---
**🚨 LƯU Ý CUỐI: Tool này rất mạnh mẽ nhưng cũng rất nguy hiểm. Hãy sử dụng cẩn thận!**