# الاتصال بقاعدة البيانات عن بُعد

Source: https://support.kapsulehost.com/ar-ae/database-remote-access

الوصول إلى بيانات اعتماد قاعدة البيانات، سبب رفض الاتصالات المباشرة عن بُعد عبر المنفذ 3306، وكيفية ربط أداة سطح مكتب عبر نفق SSH بدلًا من ذلك.

كل موقع استضافة ويب لدى KapsuleHost يحتوي على قاعدة بيانات يحصل على قاعدة بياناته الخاصة، ومستخدم قاعدة بيانات خاص به، وبيانات اعتماد يمكنك قراءتها في أي وقت. ما لا يمكنك فعله هو الاتصال بها مباشرة عبر الإنترنت، وهذا أمر مقصود. يغطي هذا الدليل بيانات الاعتماد، والطريقتين المدعومتين للوصول، وكيفية إعداد النفق الذي تحتاجه أدوات قواعد البيانات على سطح المكتب.

## العثور على بيانات الاعتماد الخاصة بك

اذهب إلى **المواقع**، ثم انقر على الموقع، ثم **قاعدة البيانات**.

تعرض الصفحة خمسة عناصر:

| الحقل | القيمة |
|---|---|
| المضيف (Host) | `127.0.0.1` |
| المنفذ (Port) | `3306` |
| قاعدة البيانات | اسم قاعدة بياناتك |
| اسم المستخدم | مستخدم قاعدة بياناتك |
| كلمة المرور | مخفية، مع زر إظهار وزر نسخ |

كلمة المرور ليست مُتاحة للعرض لمرة واحدة فقط. يمكنك العودة وقراءتها متى احتجت إليها، لذا لا داعي لحفظها في مكان منفصل.

خادم قاعدة البيانات هو MariaDB 10.11، وهو متوافق مع MySQL. هذا الأمر مهم من ناحية عملية واحدة: قد يحتوي الملف المُصدَّر (dump) من إصدار حديث من MySQL على ترتيبات (collations) لا تتعرف عليها MariaDB، وسيفشل الاستيراد برسالة خطأ "unknown collation". في حال حدوث ذلك، أعد التصدير باستخدام ترتيب متوافق على نطاق واسع مثل `utf8mb4_unicode_ci`، أو ابحث عنه واستبدله في ملف dump قبل الاستيراد.

![علامة التبويب Database لموقع ما في KPanel، تعرض تفاصيل الاتصال بقاعدة البيانات](https://support.kapsulehost.com/help/screenshots/database-remote-access.84df4ba6.webp)

## لماذا المضيف هو 127.0.0.1

`127.0.0.1` تعني "هذا الجهاز نفسه". خادم قاعدة البيانات يستمع فقط على الواجهة الداخلية الخاصة بالجهاز نفسه، كما أن المنفذ 3306 غير مفتوح للإنترنت على مستوى جدار الحماية أيضًا. لا يوجد إعداد في اللوحة لفتحه، ولا توجد قائمة سماح بعناوين IP له.

هذا ليس إغفالًا. منفذ قاعدة بيانات مكشوف على الإنترنت هو من أكثر الأشياء التي يتم استغلالها بشكل موثوق في عالم الاستضافة: يتم فحصه باستمرار، ويُسرّب معلومات الإصدار لأي شخص يتصل به، وكلمة مرور ضعيفة واحدة تفقدك الموقع بأكمله. إبقاؤه مغلقًا يزيل هذه الفئة الكاملة من المخاطر.

لذلك فإن أي سلسلة اتصال تستخدم عنوان IP العام لموقعك والمنفذ 3306 ستفشل دائمًا، من أي مكان، وعلى كل خطة. بدلًا من ذلك، هناك طريقتان مدعومتان للوصول.

## الخيار الأول: phpMyAdmin عبر المتصفح

الأسهل لإلقاء نظرة سريعة، أو إجراء تعديل، أو استيراد أو تصدير صغير.

في صفحة Database، انقر على **فتح phpMyAdmin**. سيتم تسجيل دخولك مباشرة ببيانات اعتماد موقعك الخاصة، وسترى قواعد بياناتك الخاصة فقط.

الرابط الذي يقوم بذلك قصير الأمد عمدًا، ويفشل بطرق تبدو كأخطاء لكنها ليست كذلك:

- **تنتهي صلاحيته خلال 60 ثانية.** انقر عليه فور ظهوره.
- **يعمل مرة واحدة فقط.** الرجوع وإعادة التحميل لن ينجح؛ يجب إنشاء رابط جديد.
- **يجب فتحه من نفس المتصفح ونفس الشبكة** التي طلبته منها. إذا نسخت الرابط إلى جهاز آخر، أو تغيّر عنوان اتصالك في منتصف الطريق، سيتم رفضه.

إذا رأيت رسالة "This link has already been used" أو رسالة حول عدم تطابق عنوان IP، فهذا يعني أن الحماية تعمل كما ينبغي. عد إلى صفحة Database وانقر على الزر مجددًا.

للعمل مع phpMyAdmin نفسه، راجع [استخدام phpMyAdmin](https://support.kapsulehost.com/ar-ae/sites-phpmyadmin).

## الخيار الثاني: نفق SSH لأدوات سطح المكتب

إذا كنت تريد استخدام برنامج عميل على سطح المكتب، فهذا هو المسار المدعوم. يفتح النفق اتصالًا مشفرًا بالخادم ويمرر منفذًا على جهازك الخاص عبره، بحيث يتصل برنامجك بما يبدو وكأنه قاعدة بيانات محلية.

### ما تحتاجه أولًا

مفتاح SSH على الموقع. المصادقة بكلمة المرور غير مقبولة، لذا هذه الخطوة ليست اختيارية.

1. اذهب إلى **المواقع**، ثم الموقع، ثم **الإعدادات**، ثم **مفاتيح SSH**.
2. إما ألصق المفتاح العام الذي تستخدمه بالفعل، أو أنشئ زوج مفاتيح جديد من اللوحة.
3. لاحظ اسم المستخدم الموضَّح في تلك الصفحة. إنه مستخدم النظام الخاص بموقعك، وهو ما تتصل به.

إذا أنشأت مفتاحًا في اللوحة، **يُعرض المفتاح الخاص مرة واحدة ولن يُعرض مجددًا أبدًا**. احفظه فورًا، واحتفظ به في مكان لا يستطيع أحد غيرك قراءته.

ستتلقى أيضًا رسالة بريد إلكتروني في كل مرة يُضاف فيها مفتاح إلى موقعك. هذا أمر مقصود. إذا وصلتك رسالة ولم تكن أنت من أضاف المفتاح، ألغِه فورًا من تلك الصفحة واقرأ [إذا تم اختراق موقعك](https://support.kapsulehost.com/ar-ae/site-hacked-what-to-do).

راجع [إضافة مفاتيح SSH](https://support.kapsulehost.com/ar-ae/adding-ssh-keys) للاطلاع على الشرح الكامل.

> **Warning:** حساب SFTP الذي تم إنشاؤه من علامة التبويب SFTP لن يعمل للنفق. تلك الحسابات مخصصة لنقل الملفات فقط، بدون صدفة (shell) وبدون إعادة توجيه منافذ. يتطلب النفق مستخدم SSH الخاص بالموقع نفسه مع مفتاح. راجع [الوصول عبر SFTP](https://support.kapsulehost.com/ar-ae/sftp-access).

### فتح النفق

من طرفية (terminal) على جهازك الخاص:

```sh
ssh -N -L 3307:127.0.0.1:3306 your-ssh-user@cp1-kapsule.kapsulehost.com
```

استبدل `your-ssh-user` باسم المستخدم من صفحة مفاتيح SSH. بتفصيل ذلك:

- `-N` تعني عدم تشغيل أي أمر، فقط إبقاء النفق مفتوحًا.
- `-L 3307:127.0.0.1:3306` يمرر المنفذ 3307 على جهازك إلى المنفذ 3306 على الخادم.
- يُستخدم المنفذ 3307 بدلًا من 3306 حتى لا يتعارض مع أي قاعدة بيانات قد تكون تعمل محليًا لديك.

لا يطبع الأمر أي شيء عند نجاحه. هذا أمر صحيح. اترك نافذة الطرفية مفتوحة طالما تحتاج إلى الاتصال، واضغط Ctrl+C لإغلاقه.

### ربط برنامجك

مع بقاء النفق مفتوحًا، وجّه أداة قاعدة البيانات لديك إلى:

| الإعداد | القيمة |
|---|---|
| المضيف (Host) | `127.0.0.1` |
| المنفذ (Port) | `3307` |
| اسم المستخدم | اسم مستخدم قاعدة البيانات من صفحة Database |
| كلمة المرور | كلمة مرور قاعدة البيانات من صفحة Database |
| قاعدة البيانات | اسم قاعدة بياناتك |

لاحظ الفرق: اسم مستخدم **SSH** هو مستخدم النظام الخاص بموقعك، بينما اسم مستخدم **قاعدة البيانات** مختلف ويأتي من صفحة Database. الخلط بين الاثنين هو أكثر الأخطاء شيوعًا هنا على الإطلاق.

تحتوي معظم برامج سطح المكتب أيضًا على خيار مدمج "الاتصال عبر نفق SSH"، والذي يقوم بما سبق تمامًا دون الحاجة إلى طرفية منفصلة. أدخل مضيف SSH `cp1-kapsule.kapsulehost.com`، والمنفذ 22، واسم مستخدم SSH الخاص بك، وملف مفتاحك الخاص، ثم حقول قاعدة البيانات كما سبق.

راجع [نفق SSH لقاعدة البيانات](https://support.kapsulehost.com/ar-ae/database-ssh-tunnel) للحصول على إعداد خاص بكل برنامج.

## سطر الأوامر على الخادم

إذا كنت مرتاحًا في استخدام الطرفية، فلن تحتاج إلى نفق على الإطلاق. اتصل عبر SSH واعمل على الخادم مباشرة:

```sh
ssh your-ssh-user@cp1-kapsule.kapsulehost.com
mysqldump -u DBUSER -p DBNAME > backup.sql
```

هذا أسرع بكثير من سحب قاعدة بيانات كبيرة عبر نفق، وهو الطريقة الصحيحة لأخذ نسخة يدوية (dump) قبل إجراء تغيير محفوف بالمخاطر. بالنسبة لـ WordPress تحديدًا، [WP-CLI](https://support.kapsulehost.com/ar-ae/wordpress-wp-cli) عادةً ما يكون أفضل.

## استكشاف الأخطاء وإصلاحها

**رفض الاتصال "Connection refused" على المنفذ 3306 من جهازك الخاص.** متوقع. راجع ما سبق. استخدم نفقًا.

**أمر النفق يطلب كلمة مرور.** مفتاحك غير مُقدَّم أو غير مثبَّت. تأكد من وجود المفتاح في صفحة مفاتيح SSH وأضف `-i /path/to/your/private/key` إلى الأمر.

**"Permission denied (publickey)".** اسم مستخدم خاطئ، أو مفتاح خاطئ. اسم المستخدم هو الموجود في صفحة مفاتيح SSH، وليس بريدك الإلكتروني لتسجيل الدخول إلى KapsuleHost.

**"Address already in use" للمنفذ 3307.** هناك نفق مفتوح بالفعل، أو شيء آخر يستخدم هذا المنفذ. أغلق الآخر، أو اختر منفذًا محليًا مختلفًا مثل 3308.

**النفق يُفتح لكن البرنامج لا يستطيع الاتصال.** تأكد من أن برنامجك موجَّه إلى `127.0.0.1` والمنفذ المحلي الذي اخترته، وليس إلى نطاقك.

**"Access denied for user".** بيانات اعتماد قاعدة البيانات، لا SSH. أظهرها وانسخها مجددًا من صفحة Database.

**"Unknown collation" عند الاستيراد.** تمت تغطيته أعلاه. أعد التصدير بترتيب متوافق.

> **Important:** أي شيء تفعله في برنامج قاعدة بيانات يحدث فورًا ولا يمكن التراجع عنه. لا توجد خطوة تأكيد ولا سلة محذوفات. خذ نسخة احتياطية قبل تشغيل أي شيء يكتب بيانات. راجع [أخذ نسخة احتياطية](https://support.kapsulehost.com/ar-ae/taking-a-backup).

## أدلة ذات صلة

- [استخدام phpMyAdmin](https://support.kapsulehost.com/ar-ae/sites-phpmyadmin)
- [نفق SSH لقاعدة البيانات](https://support.kapsulehost.com/ar-ae/database-ssh-tunnel)
- [إضافة مفاتيح SSH](https://support.kapsulehost.com/ar-ae/adding-ssh-keys)
- [الوصول عبر SFTP](https://support.kapsulehost.com/ar-ae/sftp-access)
- [أخذ نسخة احتياطية](https://support.kapsulehost.com/ar-ae/taking-a-backup)
- [المواقع](https://support.kapsulehost.com/ar-ae/sites-overview)
- [قاموس مصطلحات الاستضافة](https://support.kapsulehost.com/ar-ae/glossary)
