Skip to main content
Glama

mcp-dbutils

MIT License
81
  • Linux
  • Apple
mysql-examples.md11 kB
# أمثلة MySQL *[English](../../en/examples/mysql-examples.md) | [中文](../../zh/examples/mysql-examples.md) | [Français](../../fr/examples/mysql-examples.md) | [Español](../../es/examples/mysql-examples.md) | العربية | [Русский](../../ru/examples/mysql-examples.md)* يقدم هذا المستند أمثلة عملية للعمل مع قواعد بيانات MySQL باستخدام MCP Database Utilities. ## التكوين الأساسي ```yaml connections: my-mysql: type: mysql host: localhost port: 3306 database: my_database user: mysql_user password: mysql_password charset: utf8mb4 # موصى به للدعم الكامل لليونيكود ``` ## العمليات الشائعة ### سرد الجداول **أنت**: "اعرض جميع الجداول في قاعدة بيانات MySQL الخاصة بي." **الذكاء الاصطناعي**: "إليك الجداول في قاعدة بيانات MySQL الخاصة بك: - users - products - orders - categories - suppliers - inventory" ### عرض بنية الجدول **أنت**: "أظهر لي بنية جدول users." **الذكاء الاصطناعي**: "جدول users له البنية التالية: - id (INT, PRIMARY KEY, AUTO_INCREMENT) - name (VARCHAR(100), NOT NULL) - email (VARCHAR(100), NOT NULL, UNIQUE) - created_at (DATETIME, NOT NULL, DEFAULT CURRENT_TIMESTAMP) - last_login (DATETIME) - status (ENUM('active', 'inactive', 'suspended'), DEFAULT 'active') - role_id (INT, FOREIGN KEY references roles(id))" ### استعلام أساسي **أنت**: "أظهر لي آخر 5 مستخدمين مسجلين." **الذكاء الاصطناعي**: "إليك آخر 5 مستخدمين مسجلين: | id | name | email | created_at | |----|------|-------|------------| | 42 | محمد أحمد | mohammed@example.com | 2023-11-25 14:32:15 | | 41 | فاطمة علي | fatima@example.com | 2023-11-24 09:45:22 | | 40 | أحمد محمود | ahmed@example.com | 2023-11-23 18:12:05 | | 39 | سارة حسن | sara@example.com | 2023-11-22 11:30:47 | | 38 | عمر خالد | omar@example.com | 2023-11-21 16:08:33 |" ## استعلامات متقدمة ### ربط الجداول **أنت**: "أظهر لي آخر 3 طلبات مع معلومات العميل والمنتج." **الذكاء الاصطناعي**: "إليك آخر 3 طلبات مع معلومات العميل والمنتج: | order_id | order_date | customer_name | customer_email | product_name | price | quantity | |----------|------------|---------------|----------------|--------------|-------|----------| | 1042 | 2023-11-25 | محمد أحمد | mohammed@example.com | هاتف ذكي برو | 899.99 | 1 | | 1041 | 2023-11-24 | سارة حسن | sara@example.com | سماعات لاسلكية | 129.50 | 2 | | 1040 | 2023-11-23 | أحمد محمود | ahmed@example.com | حاسوب محمول | 1299.00 | 1 |" ### دوال التجميع **أنت**: "ما هو إجمالي المبيعات حسب فئة المنتج لهذا الشهر؟" **الذكاء الاصطناعي**: "إليك إجمالي المبيعات حسب فئة المنتج لهذا الشهر: | category | total_sales | |----------|-------------| | إلكترونيات | 28,456.75 | | ملابس | 12,389.30 | | منزل وحديقة | 9,876.50 | | رياضة وترفيه | 7,654.25 | | كتب ووسائط | 3,210.80 |" ### استخدام الاستعلامات الفرعية **أنت**: "ما هم العملاء الذين أنفقوا أكثر من المتوسط هذا الشهر؟" **الذكاء الاصطناعي**: "إليك العملاء الذين أنفقوا أكثر من المتوسط هذا الشهر: | customer_id | name | email | total_spent | global_average | |-------------|------|-------|-------------|----------------| | 23 | فاطمة علي | fatima@example.com | 1,456.78 | 345.67 | | 42 | محمد أحمد | mohammed@example.com | 1,245.50 | 345.67 | | 15 | عمر خالد | omar@example.com | 987.25 | 345.67 | | 31 | سارة حسن | sara@example.com | 876.30 | 345.67 | | 8 | أحمد محمود | ahmed@example.com | 654.90 | 345.67 |" ## تحليل الأداء ### خطة تنفيذ الاستعلام **أنت**: "اشرح خطة تنفيذ الاستعلام: SELECT * FROM orders JOIN customers ON orders.customer_id = customers.id WHERE orders.date > '2023-01-01'" **الذكاء الاصطناعي**: "خطة تنفيذ الاستعلام: ``` +----+-------------+------------+------------+--------+---------------+---------+---------+----------------------+------+----------+-------+ | id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra | +----+-------------+------------+------------+--------+---------------+---------+---------+----------------------+------+----------+-------+ | 1 | SIMPLE | orders | NULL | range | idx_date | idx_date| 5 | NULL | 1250 | 100.00 | Using where | | 1 | SIMPLE | customers | NULL | eq_ref | PRIMARY | PRIMARY | 4 | db.orders.customer_id | 1 | 100.00 | NULL | +----+-------------+------------+------------+--------+---------------+---------+---------+----------------------+------+----------+-------+ ``` هذا الاستعلام يستخدم: 1. مسح نطاقي على جدول 'orders' باستخدام الفهرس 'idx_date' 2. بحث بالمفتاح الأساسي في جدول 'customers' لكل صف مطابق من 'orders' 3. التقدير: سيتم فحص حوالي 1250 صفًا في جدول 'orders'" ### إحصائيات الجدول **أنت**: "احصل على إحصائيات لجدول orders." **الذكاء الاصطناعي**: "إحصائيات لجدول orders: - عدد الصفوف: 15,423 - حجم الجدول: 4.2 ميجابايت - متوسط حجم الصف: 285 بايت - الفهارس: * PRIMARY (id): 1.1 ميجابايت * idx_customer_id (customer_id): 0.8 ميجابايت * idx_date (date): 0.7 ميجابايت * idx_status (status): 0.4 ميجابايت - التجزئة: 2.3% - آخر ANALYZE TABLE: 2023-11-20 08:15:32" ## ميزات خاصة بـ MySQL ### استخدام الإجراءات المخزنة **أنت**: "هل يمكنك أن تريني كيفية استدعاء الإجراء المخزن 'get_client_orders'؟" **الذكاء الاصطناعي**: "لاستدعاء الإجراء المخزن 'get_client_orders' الذي يسترجع جميع الطلبات لعميل محدد، يمكنك استخدام: ```sql CALL get_client_orders(42); ``` النتيجة: | order_id | date | amount | status | |----------|------|--------|--------| | 1042 | 2023-11-25 | 899.99 | تم التسليم | | 987 | 2023-10-12 | 245.50 | تم التسليم | | 856 | 2023-09-03 | 78.25 | تم التسليم | | 743 | 2023-08-17 | 129.99 | تم التسليم | هذا الإجراء المخزن يقبل معلمة client_id ويعيد جميع الطلبات المرتبطة بهذا العميل." ### استخدام العروض (Views) **أنت**: "ما هي المعلومات المتاحة في العرض 'client_summary'؟" **الذكاء الاصطناعي**: "العرض 'client_summary' يوفر ملخصًا لأنشطة كل عميل: | client_id | name | email | total_orders | total_amount | last_order | loyalty_status | |-----------|------|-------|--------------|--------------|------------|----------------| | 42 | محمد أحمد | mohammed@example.com | 12 | 3,456.78 | 2023-11-25 | ذهبي | | 23 | فاطمة علي | fatima@example.com | 8 | 2,345.67 | 2023-11-24 | فضي | | 15 | عمر خالد | omar@example.com | 5 | 1,234.56 | 2023-11-20 | برونزي | هذا العرض يجمع بيانات من جداول clients وorders وloyalty_program لتوفير نظرة عامة على نشاط كل عميل." ### استخدام الأحداث (Events) **أنت**: "هل هناك أحداث مجدولة في قاعدة البيانات؟" **الذكاء الاصطناعي**: "نعم، إليك الأحداث المجدولة في قاعدة البيانات: 1. **daily_sales_report** - التكرار: يوميًا الساعة 23:00 - الوصف: ينشئ تقرير مبيعات يومي ويدرجه في جدول 'sales_reports' 2. **monthly_customer_cleanup** - التكرار: اليوم الأول من كل شهر الساعة 02:00 - الوصف: يؤرشف العملاء غير النشطين لأكثر من 12 شهرًا 3. **hourly_inventory_check** - التكرار: كل ساعة - الوصف: يتحقق من مستويات المخزون وينشئ تنبيهات للمنتجات التي نفدت من المخزون" ## استكشاف الأخطاء وإصلاحها ### المشاكل الشائعة 1. **خطأ "Too many connections"** - السبب: تم الوصول إلى الحد الأقصى من الاتصالات المتزامنة - الحل: زيادة max_connections في my.cnf أو تحسين التطبيق لاستخدام مجمع اتصالات 2. **خطأ "Lock wait timeout exceeded"** - السبب: معاملة تنتظر وقتًا طويلاً للحصول على قفل - الحل: تحقق من المعاملات الطويلة أو المحظورة باستخدام `SHOW PROCESSLIST` وتحسين معاملاتك 3. **أداء بطيء** - الأسباب المحتملة: * استعلامات غير محسنة * فهارس مفقودة * تكوين خادم غير مناسب - الحلول: * استخدم EXPLAIN لتحليل الاستعلامات * أضف فهارس مناسبة * حسّن تكوين الخادم (innodb_buffer_pool_size، إلخ) ### أوامر تشخيصية مفيدة ```sql -- عرض العمليات الجارية SHOW PROCESSLIST; -- التحقق من حالة الجداول CHECK TABLE table_name; -- تحسين جدول OPTIMIZE TABLE table_name; -- عرض متغيرات النظام SHOW VARIABLES LIKE '%buffer%'; -- عرض إحصائيات الأداء SHOW ENGINE INNODB STATUS; ``` ## أفضل الممارسات 1. **الأمان** - استخدم حسابات بأقل امتيازات - قم بتفعيل SSL للاتصالات - استخدم الاستعلامات المعدة مسبقًا لتجنب حقن SQL 2. **الأداء** - قم بفهرسة الأعمدة المستخدمة بشكل متكرر في عبارات WHERE وJOIN وORDER BY - تجنب SELECT * واختر فقط الأعمدة الضرورية - استخدم EXPLAIN لتحليل وتحسين الاستعلامات 3. **الصيانة** - جدولة نسخ احتياطية منتظمة - تكوين النسخ المتماثل للتوافر العالي - مراقبة الأداء واستخدام الموارد بانتظام

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/donghao1393/mcp-dbutils'

If you have feedback or need assistance with the MCP directory API, please join our Discord server