المقدمة
عند نقل موقعك الإلكتروني إلى استضافة جديدة، فإن عملية النقل لا تقتصر على نقل ملفات الموقع فقط، بل تشمل أيضًا نقل قاعدة البيانات المرتبطة به. وعلى الرغم من أن نقل ملفات الموقع غالبًا ما يكون أمرًا بسيطًا، إلا أن نقل قاعدة البيانات قد يصبح أكثر تعقيدًا، خصوصًا عندما يكون حجمها كبيرًا.
فعند محاولة استيراد قاعدة بيانات كبيرة باستخدام phpMyAdmin، قد تواجه بعض القيود المتعلقة بحجم الملف المسموح برفعه أو إعدادات الخادم، مما قد يؤدي إلى فشل عملية الاستيراد أو توقفها قبل اكتمالها. وفي هذه الحالة، ستحتاج إلى طريقة بديلة تتيح لك التعامل مع قاعدة البيانات مباشرةً على الخادم، دون الاعتماد على واجهة phpMyAdmin.
وهنا يأتي دور SSH، الذي يوفر لك طريقة أكثر مرونة وفعالية للتعامل مع قواعد البيانات الكبيرة، حيث يمكنك تنفيذ عملية الاستيراد مباشرةً على الخادم باستخدام أمر واحد فقط، ليقوم الخادم بقراءة ملف قاعدة البيانات واستيراد محتوياته مباشرةً إلى قاعدة البيانات، دون الحاجة إلى استخدام phpMyAdmin.
ولا يقتصر الأمر على الاستيراد فقط، بل يمكنك أيضًا استخدام SSH لتصدير قاعدة البيانات بنفس السهولة؛ حيث يكفي تنفيذ الأمر المخصص للتصدير ليقوم الخادم بإنشاء نسخة من قاعدة البيانات وحفظها كملف يمكنك نقله أو استخدامه لاحقًا. وهذا يجعل التعامل مع قواعد البيانات الكبيرة أكثر سهولة وسرعة، ويمنح أصحاب المواقع والمطورين طريقة فعّالة لإدارة قواعد البيانات ونقلها بين الخوادم والاستضافات المختلفة.
وإذا كنت لا تعرف ما هو SSH أو لم يسبق لك استخدامه في استيراد وتصدير قواعد البيانات، فلا تقلق. في هذا المقال سنشرح لك كيفية استيراد وتصدير قاعدة البيانات باستخدام SSH خطوة بخطوة، بدءًا من التعرف على SSH وطريقة استخدامه والاتصال بخادم الاستضافة، وصولًا إلى تنفيذ أوامر استيراد وتصدير قاعدة البيانات والتحقق من نجاح العملية.
ماهو SSH؟
SSH (Secure Shell) هو بروتوكول شبكي يُستخدم لإنشاء اتصال آمن ومشفّر بين جهاز المستخدم وجهاز آخر عبر الشبكة، وغالبًا ما يكون الجهاز الآخر خادمًا (Server). ومن خلال هذا الاتصال، يستطيع المستخدم الدخول إلى الخادم عن بُعد والتعامل معه باستخدام سطر الأوامر (Command Line)، وتنفيذ الأوامر وإدارة الملفات والبرامج والخدمات كما لو كان يعمل مباشرةً على الخادم.
بمعنى أبسط، تخيل أن لديك خادم استضافة موجودًا في مركز بيانات في مكان آخر، وأنت تجلس أمام جهازك في المنزل. بدلًا من الذهاب إلى الخادم بشكل فعلي، يمكنك استخدام SSH لإنشاء اتصال بين جهازك والخادم، وبعد نجاح الاتصال تحصل على واجهة تسمح لك بكتابة الأوامر وتنفيذها على الخادم عن بُعد.
كيف يعمل SSH؟
لفهم طريقة عمل SSH، تبدأ العملية عند طلب الاتصال بخادم بعيد باستخدام برنامج SSH وتنفيذ أمر الاتصال الذي يتضمن اسم المستخدم وعنوان الخادم، مثل: ssh username@server-ip. عند تنفيذ الأمر، يبدأ جهاز المستخدم بالاتصال بخدمة SSH الموجودة على الخادم، ثم يتحقق الخادم من هوية المستخدم باستخدام طريقة المصادقة المعتمدة، مثل كلمة المرور أو مفتاح SSH.
بعد نجاح عملية المصادقة، يتم السماح للمستخدم بالدخول إلى الخادم وإنشاء جلسة SSH، ومن خلالها يستطيع التعامل مع الخادم مباشرةً وتنفيذ الأوامر المختلفة، مثل إدارة الملفات والمجلدات، ضغط الملفات وفك ضغطها، التعامل مع قواعد البيانات، وتشغيل الخدمات وإدارتها.
بمعنى آخر، يعمل SSH كوسيلة تتيح لك التحكم بالخادم عن بُعد من خلال جهازك؛ فأنت تكتب الأوامر على جهازك، ولكن تنفيذها يتم على الخادم، وتُرسل النتائج إليك عبر اتصال مشفّر وآمن. وعند الانتهاء من العمل، يمكنك إنهاء جلسة SSH، بينما تبقى التغييرات التي أجريتها محفوظة على الخادم. وبعد أن أصبحت لدينا صورة واضحة عن طريقة عمل SSH، دعونا نتعرف الآن على كيفية الاتصال بخادم الاستضافة باستخدام SSH خطوة بخطوة.
كيفية الاتصال بالخادم عبر SSH؟
بعد أن تعرفنا على SSH وفهمنا أهميته وطريقة عمله، حان الوقت الآن للانتقال إلى الجانب العملي والتعرف على كيفية الاتصال بخادم الاستضافة باستخدام SSH.
1. تفعيل SSH في الاستضافة
قد تكون خدمة SSH معطّلة بشكل افتراضي في بعض حسابات الاستضافة لأسباب أمنية، لذلك يجب تفعيلها أولًا من خلال حساب الاستضافة في لوحة التحكم الخاصة بها، كما هو موضح في الصورة التالية.
2. الحصول على بيانات الاتصال
بعد تفعيل SSH، ستحتاج إلى بيانات الاتصال التي توفرها لك شركة الاستضافة، وهي عادةً Hostname أو IP Address، واسم المستخدم (Username)، والمنفذ (Port)، وكلمة المرور (Password) إذا كان الخادم يعتمد على المصادقة باستخدام كلمة المرور.
وبالنسبة لمستخدمي Hostinger، يمكن العثور على بيانات اتصال SSH من خلال صفحة SSH في لوحة التحكم، حيث ستجد معلومات الاتصال المطلوبة مثل اسم المستخدم، وعنوان الخادم، والمنفذ، كما هو موضح في الصورة التالية.
3. الاتصال بالخادم باستخدام SSH
بعد تجهيز بيانات الاتصال، يمكنك الآن الانتقال إلى خطوة الاتصال بخادم الاستضافة عبر SSH. وإذا كنت تستخدم Windows 11، فلن تحتاج عادةً إلى تثبيت أي برنامج إضافي، حيث يمكنك استخدام (CMD)، بينما يمكنك في أنظمة Linux استخدام Terminal لتنفيذ أوامر SSH. وبعد فتح سطر الأوامر المناسب لنظام التشغيل الذي تستخدمه، يمكنك الاتصال بخادم الاستضافة باستخدام أمر SSH التالي:
ssh username@server-ip
استبدل username باسم المستخدم الخاص بك، وserver-ip بعنوان الخادم. على سبيل المثال:
إذا كان الخادم يستخدم منفذًا مختلفًا عن منفذ SSH الافتراضي، فيمكنك إضافة رقم المنفذ إلى الأمر باستخدام الخيار -p.
بعد تنفيذ الأمر، سيبدأ SSH بمحاولة إنشاء اتصال مع الخادم. وعند الاتصال بالخادم للمرة الأولى، قد تظهر لك رسالة تطلب منك تأكيد هوية الخادم، وبعد تأكيدها سيُطلب منك إدخال كلمة المرور أو استخدام طريقة المصادقة المعتمدة على الخادم.
وبعد نجاح الاتصال بالخادم عبر SSH، ننتقل الآن إلى الخطوة التالية، وهي استيراد قاعدة البيانات باستخدام SSH.
كيفية استيراد قاعدة البيانات عبر SSH
بعد أن تعرفنا على SSH وطريقة الاتصال بخادم الاستضافة، حان الوقت الآن للانتقال إلى الجانب العملي والتعرف على كيفية استيراد قاعدة البيانات عبر SSH.
أولًا: إنشاء قاعدة بيانات جديدة
قبل البدء بعملية الاستيراد، يجب إنشاء قاعدة بيانات جديدة على الاستضافة التي تريد نقل موقعك إليها. بعد إنشاء قاعدة البيانات، احتفظ ببيانات الاتصال بها، والتي ستحتاج إليها لاحقًا لتنفيذ أمر الاستيراد، وهي:
- اسم قاعدة البيانات (Database Name)
- اسم مستخدم قاعدة البيانات (Database Username)
- كلمة مرور قاعدة البيانات (Database Password)
تأكد من أن بيانات قاعدة البيانات صحيحة، وأن مستخدم قاعدة البيانات لديه الصلاحيات اللازمة للوصول إليها.
ثانيًا: رفع ملف قاعدة البيانات إلى الخادم
بعد إنشاء قاعدة البيانات، قم برفع ملف قاعدة البيانات الذي تم تصديره مسبقًا بصيغة SQL إلى خادم الاستضافة. يمكنك رفع الملف باستخدام أي وسيلة متاحة لك، مثل FTP أو File Manager من لوحة تحكم الاستضافة. ويُفضّل رفع ملف قاعدة البيانات إلى أحد المسارات التابعة لموقعك، بحيث يمكنك الوصول إليه بسهولة من خلال اتصال SSH.
ثالثًا: الوصول إلى مسار ملف قاعدة البيانات
بعد رفع ملف قاعدة البيانات، انتقل إلى المجلد الذي يحتوي على ملف database.sql. ولمعرفة المسار الذي تتواجد فيه حاليًا، يمكنك استخدام الأمر: pwd بعد ذلك، استخدم الأمر cd للانتقال إلى المجلد الذي رفعت إليه ملف قاعدة البيانات. وللتأكد من وجود الملف داخل المجلد الصحيح، استخدم الأمر: ls إذا ظهر لك ملف database.sql ضمن الملفات المعروضة، فهذا يعني أنك أصبحت في المسار الصحيح ويمكنك الانتقال إلى عملية الاستيراد.
رابعًا: تنفيذ أمر استيراد قاعدة البيانات
بعد التأكد من وجود ملف قاعدة البيانات في المسار الصحيح، يمكنك تنفيذ عملية الاستيراد باستخدام الأمر التالي:
mysql -u username -p mydatabase < database.sql
في هذا الأمر:
- username هو اسم مستخدم قاعدة البيانات.
- mydatabase هو اسم قاعدة البيانات التي أنشأتها على الاستضافة الجديدة.
- -p يخبر النظام بأنك ستدخل كلمة مرور قاعدة البيانات.
- < هو عامل إعادة توجيه يُستخدم لتمرير محتوى ملف SQL إلى أمر mysql ليتم استيراده إلى قاعدة البيانات.
- database.sql هو اسم ملف قاعدة البيانات الذي قمت برفعه إلى الخادم.
إذا كانت بيانات الاتصال صحيحة وكان الملف سليمًا، فسيبدأ MySQL بتنفيذ الأوامر الموجودة داخل ملف SQL واستيراد محتويات قاعدة البيانات إلى قاعدة البيانات الجديدة.
ملاحظة: إذا لم يظهر أي خطأ بعد تنفيذ الأمر، فهذا يعني غالبًا أن عملية الاستيراد تمت بنجاح. ويمكنك بعد ذلك التحقق من قاعدة البيانات من خلال phpMyAdmin أو من خلال أوامر MySQL للتأكد من ظهور الجداول والبيانات.
وبهذه الطريقة، يمكنك استيراد قواعد البيانات الكبيرة مباشرةً من خلال SSH دون الحاجة إلى رفع ملف SQL عبر phpMyAdmin، مما يساعدك على تجاوز قيود حجم الملفات المفروضة من خلال واجهة الاستيراد التقليدية.
بعد أن تعرفنا على كيفية استيراد قاعدة البيانات عبر SSH، حان الوقت للانتقال إلى الجانب الآخر من العملية، وهو تصدير قاعدة البيانات. والمقصود بالتصدير هنا إنشاء نسخة من قاعدة البيانات الحالية وحفظها في ملف بصيغة SQL، بحيث يمكنك الاحتفاظ بها كنسخة احتياطية أو نقلها إلى استضافة أو خادم آخر عند الحاجة.
كيفية تصدير قاعدة البيانات عبر SSH
تصدير قاعدة البيانات عبر SSH لا يختلف كثيرًا عن عملية الاستيراد التي تعرفنا عليها سابقًا، ولكن بدلًا من إدخال ملف SQL إلى قاعدة البيانات، سنقوم بإنشاء ملف SQL يحتوي على نسخة من قاعدة البيانات الحالية.
ويمكنك بعد ذلك الاحتفاظ بهذا الملف كنسخة احتياطية، أو استخدامه لنقل قاعدة البيانات إلى استضافة أو خادم آخر. ولتنفيذ عملية التصدير، سنستخدم الأمر mysqldump، وهو أداة مخصصة لقواعد بيانات MySQL وMariaDB، حيث تقوم بإنشاء نسخة من قاعدة البيانات وحفظها في ملف يمكن نقله أو استيراده لاحقًا.
وفيما يلي، خطوات تصدير قاعدة البيانات عبر SSH بالتفصيل:
أولًا: التأكد من بيانات قاعدة البيانات
قبل البدء بعملية التصدير، ستحتاج إلى بيانات قاعدة البيانات التي تريد تصديرها، وهي:
- اسم قاعدة البيانات (Database Name)
- اسم مستخدم قاعدة البيانات (Database Username)
- كلمة مرور قاعدة البيانات (Database Password)
تأكد من أن مستخدم قاعدة البيانات لديه الصلاحيات اللازمة للوصول إلى قاعدة البيانات وتصديرها.
ثانيًا: الانتقال إلى المجلد الذي تريد حفظ النسخة فيه
بما أن عملية التصدير ستنشئ ملفًا بصيغة SQL على الخادم، فمن الأفضل تحديد المجلد الذي تريد حفظ النسخة الاحتياطية بداخله. يمكنك معرفة المسار الحالي الذي تتواجد فيه باستخدام الأمر: pwd ولعرض الملفات والمجلدات الموجودة داخل المسار الحالي، استخدم: ls إذا كنت تريد حفظ ملف قاعدة البيانات داخل مجلد معين، يمكنك الانتقال إليه باستخدام الأمر cd.
ثالثًا: تنفيذ أمر تصدير قاعدة البيانات
بعد التأكد من وجودك في المسار الذي تريد حفظ ملف قاعدة البيانات بداخله، يمكنك تنفيذ أمر التصدير باستخدام:
mysqldump -u username -p mydatabase > database.sql
في هذا الأمر:
- mysqldump هو الأمر المسؤول عن تصدير قاعدة بيانات MySQL وإنشاء نسخة منها.
- -u username يحدد اسم مستخدم قاعدة البيانات.
- -p يطلب منك إدخال كلمة مرور قاعدة البيانات.
- mydatabase هو اسم قاعدة البيانات التي تريد تصديرها.
- > يقوم بتوجيه نتيجة التصدير إلى ملف.
- database.sql هو اسم الملف الذي سيتم إنشاء نسخة قاعدة البيانات بداخله.
على سبيل المثال، إذا كان اسم قاعدة البيانات هو mydatabase واسم المستخدم هو admin، فيمكنك استخدام:
mysqldump -u admin -p mydatabase > database.sql
بعد تنفيذ الأمر، سيطلب منك النظام إدخال كلمة مرور مستخدم قاعدة البيانات. أدخل كلمة المرور ثم اضغط Enter، وستبدأ عملية التصدير.
رابعًا: التأكد من إنشاء ملف قاعدة البيانات
بعد انتهاء عملية التصدير، يمكنك استخدام الأمر: ls لعرض الملفات الموجودة في المجلد الحالي. إذا ظهر ملف database.sql، فهذا يعني أن نسخة قاعدة البيانات تم إنشاؤها وحفظها بنجاح.
يمكنك بعد ذلك تنزيل الملف إلى جهازك باستخدام FTP أو File Manager، أو نقله مباشرةً إلى خادم آخر إذا كنت تستخدمه لنقل الموقع.
ملاحظة: إذا كانت قاعدة البيانات كبيرة، فقد يستغرق إنشاء ملف SQL بعض الوقت. ويعتمد ذلك على حجم قاعدة البيانات وأداء الخادم، لذلك لا تغلق جلسة SSH أثناء تنفيذ العملية.
وبهذه الطريقة، يمكنك إنشاء نسخة كاملة من قاعدة البيانات مباشرةً من الخادم باستخدام SSH، دون الحاجة إلى تصديرها من خلال phpMyAdmin، وهو ما يجعل هذه الطريقة عملية وفعّالة عند التعامل مع قواعد البيانات الكبيرة.
بعد أن تعرفنا على كيفية استيراد وتصدير قاعدة البيانات عبر SSH، حان الوقت للتعرف على مجموعة من أهم أوامر SSH الأساسية التي ستحتاج إليها عند التعامل مع الخادم. هذه الأوامر ستساعدك على التنقل بين المجلدات، واستعراض الملفات، ومعرفة المسار الحالي، وتنفيذ المهام المختلفة بسهولة من خلال سطر الأوامر.
| الأمر | الاستخدام | مثال |
|---|---|---|
pwd |
معرفة المسار الحالي الذي تعمل بداخله. | pwd |
ls |
عرض الملفات والمجلدات الموجودة داخل المسار الحالي. | ls |
cd |
التنقل بين المجلدات. | cd public_html |
mkdir |
إنشاء مجلد جديد. | mkdir backups |
touch |
إنشاء ملف جديد. | touch example.txt |
cp |
نسخ الملفات والمجلدات. | cp config.php config-backup.php |
mv |
نقل الملفات والمجلدات أو إعادة تسميتها. | mv example.txt new-example.txt |
rm |
حذف الملفات والمجلدات. | rm example.txt |
cat |
عرض محتوى الملفات داخل نافذة الأوامر. | cat config.txt |
clear |
مسح الأوامر والنتائج الظاهرة في الشاشة. | clear |
history |
عرض الأوامر التي تم تنفيذها سابقًا. | history |
find |
البحث عن الملفات والمجلدات حسب الاسم أو الموقع. | find . -name 'config.php' |
du |
معرفة المساحة التي تستهلكها الملفات والمجلدات. | du -sh public_html |
df |
معرفة مساحة التخزين المستخدمة والمتاحة على الخادم. | df -h |
بعد أن تعرفنا على أهم أوامر SSH الأساسية، ننتقل الآن إلى الجزء الأكثر ارتباطًا بموضوع المقال، وهو أهم الأوامر المستخدمة للتعامل مع قواعد البيانات عبر SSH، مثل استعراض قواعد البيانات، وإنشاء قواعد البيانات والجداول، واستيرادها وتصديرها، وإدارة البيانات مباشرةً من خلال سطر الأوامر.
| الأمر | الاستخدام | مثال |
|---|---|---|
mysql |
استيراد قواعد بيانات MySQL وMariaDB وتنفيذ الاستعلامات. | mysql -u username -p database_name < backup.sql |
mysqldump |
تصدير قواعد بيانات MySQL وMariaDB وإنشاء نسخة احتياطية. | mysqldump -u username -p database_name > backup.sql |
psql |
الاتصال بقواعد PostgreSQL وتنفيذ الاستعلامات واستيراد ملفات SQL. | psql -U username -d database_name -f backup.sql |
pg_dump |
تصدير قواعد PostgreSQL وإنشاء نسخة احتياطية منها. | pg_dump database_name > backup.sql |
mongodump |
إنشاء نسخة احتياطية من قواعد بيانات MongoDB. | mongodump --db database_name --out backup |
mongorestore |
استعادة قواعد MongoDB من نسخة احتياطية. | mongorestore --db database_name backup/database_name |
كيفية إنهاء اتصال SSH
بعد الانتهاء من تنفيذ المهام المطلوبة على الخادم، يُفضّل إنهاء جلسة SSH بدلًا من إبقائها مفتوحة دون حاجة. ويمكن إنهاء الاتصال ببساطة باستخدام الأمر exit، حيث يؤدي تنفيذ هذا الأمر إلى إغلاق جلسة SSH والعودة إلى سطر الأوامر على جهاز المستخدم.
ولا يعني إنهاء الجلسة إيقاف الخادم أو التراجع عن العمليات التي تم تنفيذها، وإنما يؤدي فقط إلى إغلاق اتصال SSH بين الجهاز والخادم. ولمزيد من الحماية، إذا كانت خدمة SSH قابلة للتحكم من حساب الاستضافة، فمن الأفضل تعطيلها بعد الانتهاء من استخدامها، في حال عدم وجود حاجة مستمرة إليها، لتقليل الوصول غير الضروري إلى الخادم.
الخاتمة
وبهذا نكون قد وصلنا إلى نهاية هذا الدليل، وتعرفنا خطوة بخطوة على كيفية استخدام SSH للتعامل مع قواعد البيانات، بدءًا من تفعيل SSH والاتصال بخادم الاستضافة، مرورًا بأهم الأوامر الأساسية، ووصولًا إلى استيراد وتصدير قواعد البيانات مباشرةً من خلال سطر الأوامر.
كما تعرفنا على كيفية استخدام أوامر مثل mysql وmysqldump للتعامل مع قواعد بيانات MySQL، وكيفية الوصول إلى الملفات والمجلدات والتحقق من وجود ملف قاعدة البيانات قبل تنفيذ عملية الاستيراد أو التصدير.
نأمل أن يكون هذا الدليل قد ساعدك على فهم طريقة التعامل مع قواعد البيانات عبر SSH، وأن تتمكن الآن من تنفيذ عمليات الاستيراد والتصدير وإدارة قواعد بياناتك بسهولة وثقة.

